MH: AsbRheinErftDuerenSBD Differenzrechnungseinrichtung
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using BeWo.Data.Access;
|
||||
using BeWo.Data.Entities;
|
||||
@@ -59,9 +60,11 @@ namespace AsbRheinErftDuerenSBD
|
||||
|
||||
decimal stundenAnzahl = 0;
|
||||
decimal stundenSatz = 0;
|
||||
string bezeichnung = "Stundenabrechnung Nicht-Fachkraft";
|
||||
|
||||
decimal stundenAnzahl2 = 0;
|
||||
decimal stundenSatz2 = 0;
|
||||
string bezeichnung2 = "Stundenabrechnung Nicht-Fachkraft";
|
||||
|
||||
String prozentZuschlag = "";
|
||||
decimal anzahlZuschlag = 0;
|
||||
@@ -76,11 +79,22 @@ namespace AsbRheinErftDuerenSBD
|
||||
|
||||
if (sip.ServiceInvoiceItems != null)
|
||||
{
|
||||
sip.ServiceInvoiceItems = sip.ServiceInvoiceItems.Where(item => item.NetAmount.HasValue && item.NetAmount.Value != 0).ToList();
|
||||
|
||||
foreach (var ii in sip.ServiceInvoiceItems)
|
||||
{
|
||||
if (ii.ServiceDescription != null)
|
||||
{
|
||||
if (ii.ServiceDescription == "Betreuungseinsätze" || ii.ServiceDescription.Contains("Integrationshilfe"))
|
||||
if (ii.NetAmount < 0)
|
||||
{
|
||||
ii.AmountPerUnit *= -1;
|
||||
if (i == 0)
|
||||
bezeichnung = ii.ServiceDescription.Substring(ii.ServiceDescription.IndexOf('(') + 1, ii.ServiceDescription.Length - ii.ServiceDescription.IndexOf('(') - 2);
|
||||
else if (i == 1)
|
||||
bezeichnung2 = ii.ServiceDescription.Substring(ii.ServiceDescription.IndexOf('(') + 1, ii.ServiceDescription.Length - ii.ServiceDescription.IndexOf('(') - 2); ;
|
||||
}
|
||||
|
||||
if (ii.ServiceDescription.Contains("Betreuungseinsätze") || ii.ServiceDescription.Contains("Integrationshilfe"))
|
||||
{
|
||||
if (i == 0)
|
||||
{
|
||||
@@ -150,7 +164,7 @@ namespace AsbRheinErftDuerenSBD
|
||||
lblBezeichnung2.Text = ii.ServiceDescription;
|
||||
}
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -189,6 +203,7 @@ namespace AsbRheinErftDuerenSBD
|
||||
lblStunden.Text = String.Format("{0:0.00}", stundenAnzahl);
|
||||
lblStundensatz.Text = String.Format("{0:c}", stundenSatz);
|
||||
lblBetragStunden.Text = String.Format("{0:c}", stundenAnzahl * stundenSatz);
|
||||
lblBezeichnung.Text = bezeichnung;
|
||||
|
||||
if (stundenAnzahl2 == 0 && stundenSatz2 == 0)
|
||||
{
|
||||
@@ -202,8 +217,9 @@ namespace AsbRheinErftDuerenSBD
|
||||
lblStunden2.Text = String.Format("{0:0.00}", stundenAnzahl2);
|
||||
lblStundensatz2.Text = String.Format("{0:c}", stundenSatz2);
|
||||
lblBetragStunden2.Text = String.Format("{0:c}", stundenAnzahl2 * stundenSatz2);
|
||||
lblBezeichnung2.Text = bezeichnung2;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//if (!String.IsNullOrWhiteSpace(prozentZuschlag))
|
||||
//{
|
||||
|
||||
@@ -37,55 +37,60 @@ namespace AsbRheinErftDuerenSBD.Service
|
||||
return i;
|
||||
}
|
||||
|
||||
protected override ServiceInvoiceDC ErstelleDifferenzRechnung(DifferenzRechnungCheck item)
|
||||
{
|
||||
ServiceInvoiceDC diffRechnung = null;
|
||||
var alterBetrag = item.VorhandeneRechungen.Sum(i => i.ClaimSum ?? 0);
|
||||
//protected override ServiceInvoiceDC ErstelleDifferenzRechnung(DifferenzRechnungCheck item)
|
||||
//{
|
||||
// ServiceInvoiceDC diffRechnung = null;
|
||||
// //var alterBetrag = item.VorhandeneRechungen.Sum(i => i.ClaimSum ?? 0);
|
||||
// var letzteRg = item.VorhandeneRechungen.OrderByDescending(r => r.ServiceInvoiceOid).FirstOrDefault();
|
||||
|
||||
if (item.NeueRechnung.ClaimSum == alterBetrag)
|
||||
{
|
||||
diffRechnung = item.NeueRechnung;
|
||||
diffRechnung.InvoiceBase.NeuErstellen = false;
|
||||
diffRechnung.InvoiceBase.Hinweise = String.Format("Rechnung wurde bereits erstellt");
|
||||
}
|
||||
else
|
||||
{
|
||||
diffRechnung = new ServiceInvoiceDC();
|
||||
// letzteRg = item.VorhandeneRechungen.FirstOrDefault(r => item.NeueRechnung.InvoiceBase.CustomerOid == r.InvoiceBase.CustomerOid);
|
||||
// if (letzteRg != null)
|
||||
// {
|
||||
// if (item.NeueRechnung.ClaimSum == letzteRg.ClaimSum)
|
||||
// {
|
||||
// diffRechnung = item.NeueRechnung;
|
||||
// diffRechnung.InvoiceBase.NeuErstellen = false;
|
||||
// diffRechnung.InvoiceBase.Hinweise = String.Format("Rechnung wurde bereits erstellt");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// diffRechnung = new ServiceInvoiceDC();
|
||||
|
||||
diffRechnung.InvoiceBase.InvoiceId = "SBD Aldenhoven DIFF";
|
||||
// diffRechnung.InvoiceBase.InvoiceId = "SBD Aldenhoven DIFF";
|
||||
|
||||
diffRechnung.OriginalZurDifferenz = item.NeueRechnung;
|
||||
diffRechnung.InvoiceBase = new InvoiceBaseDC();
|
||||
CopyInvoiceBaseDC(item.NeueRechnung.InvoiceBase, diffRechnung);
|
||||
// diffRechnung.OriginalZurDifferenz = item.NeueRechnung;
|
||||
// diffRechnung.InvoiceBase = new InvoiceBaseDC();
|
||||
// CopyInvoiceBaseDC(item.NeueRechnung.InvoiceBase, diffRechnung);
|
||||
|
||||
diffRechnung.ServiceInvoicePeriods = item.NeueRechnung.ServiceInvoicePeriods;
|
||||
var newItem = new InvoiceItemDC();
|
||||
newItem.ItemPeriodStart = item.NeueRechnung.InvoiceBase.AccountingPeriodStart;
|
||||
newItem.ItemPeriodEnd = item.NeueRechnung.InvoiceBase.AccountingPeriodEnd;
|
||||
newItem.UnitCount = 1;
|
||||
if (item.VorhandeneRechungen.Count == 1)
|
||||
newItem.ItemDescription = String.Format("Abzug von Betrag aus Rechnung {0} vom {1:dd.MM.yyyy}", item.VorhandeneRechungen[0].InvoiceBase.InvoiceNumber, item.VorhandeneRechungen[0].InvoiceBase.InvoiceDate);
|
||||
else if (item.VorhandeneRechungen.Count > 1)
|
||||
{
|
||||
string rechnungsnummern = string.Join(", ", item.VorhandeneRechungen.Select(r => r.InvoiceBase.InvoiceNumber));
|
||||
newItem.ItemDescription = String.Format("Abzug von Gesamtbetrag aus Rechnungen {0} vom {1:dd.MM.yyyy}", rechnungsnummern, item.VorhandeneRechungen[0].InvoiceBase.InvoiceDate);
|
||||
// diffRechnung.ServiceInvoicePeriods = item.NeueRechnung.ServiceInvoicePeriods;
|
||||
// var newItem = new InvoiceItemDC();
|
||||
// newItem.ItemPeriodStart = item.NeueRechnung.InvoiceBase.AccountingPeriodStart;
|
||||
// newItem.ItemPeriodEnd = item.NeueRechnung.InvoiceBase.AccountingPeriodEnd;
|
||||
// newItem.UnitCount = 1;
|
||||
// if (item.VorhandeneRechungen.Count == 1)
|
||||
// newItem.ItemDescription = String.Format("Abzug von Betrag aus Rechnung {0} vom {1:dd.MM.yyyy}", item.VorhandeneRechungen[0].InvoiceBase.InvoiceNumber, item.VorhandeneRechungen[0].InvoiceBase.InvoiceDate);
|
||||
// else if (item.VorhandeneRechungen.Count > 1)
|
||||
// {
|
||||
// string rechnungsnummern = string.Join(", ", item.VorhandeneRechungen.Select(r => r.InvoiceBase.InvoiceNumber));
|
||||
// newItem.ItemDescription = String.Format("Abzug von Gesamtbetrag aus Rechnungen {0} vom {1:dd.MM.yyyy}", rechnungsnummern, item.VorhandeneRechungen[0].InvoiceBase.InvoiceDate);
|
||||
|
||||
}
|
||||
newItem.AmountTotal = alterBetrag * -1;
|
||||
newItem.GrossAmountTotal = alterBetrag * -1;
|
||||
newItem.AmountPerUnit = alterBetrag * -1;
|
||||
// }
|
||||
// newItem.AmountTotal = letzteRg.ClaimSum * -1;
|
||||
// newItem.GrossAmountTotal = letzteRg.ClaimSum * -1;
|
||||
// newItem.AmountPerUnit = letzteRg.ClaimSum * -1;
|
||||
|
||||
var newSip = new ServiceInvoicePeriodDC();
|
||||
newSip.Claim = newItem.AmountTotal;
|
||||
newSip.Start = item.NeueRechnung.InvoiceBase.AccountingPeriodStart;
|
||||
newSip.End = item.NeueRechnung.InvoiceBase.AccountingPeriodEnd;
|
||||
diffRechnung.ServiceInvoicePeriods.Add(newSip);
|
||||
newSip.InvoiceItems = new List<InvoiceItemDC>();
|
||||
newSip.InvoiceItems.Add(newItem);
|
||||
// var newSip = new ServiceInvoicePeriodDC();
|
||||
// newSip.Claim = newItem.AmountTotal;
|
||||
// newSip.Start = item.NeueRechnung.InvoiceBase.AccountingPeriodStart;
|
||||
// newSip.End = item.NeueRechnung.InvoiceBase.AccountingPeriodEnd;
|
||||
// diffRechnung.ServiceInvoicePeriods.Add(newSip);
|
||||
// newSip.InvoiceItems = new List<InvoiceItemDC>();
|
||||
// newSip.InvoiceItems.Add(newItem);
|
||||
|
||||
diffRechnung.InvoiceBase.Hinweise = String.Format("Rechnungsdifferenz zu Rechnung {0} in Höhe von {1:c}", item.VorhandeneRechungen[0].InvoiceBase.InvoiceNumber, alterBetrag);
|
||||
}
|
||||
return diffRechnung;
|
||||
}
|
||||
}
|
||||
// diffRechnung.InvoiceBase.Hinweise = String.Format("Rechnungsdifferenz zu Rechnung {0} in Höhe von {1:c}", item.VorhandeneRechungen[0].InvoiceBase.InvoiceNumber, letzteRg.ClaimSum);
|
||||
// }
|
||||
// }
|
||||
// return diffRechnung;
|
||||
//}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user