diff --git a/ReportImp/PsychosozialeProjekteSaarpfalz/Invoicing/CustomInvoiceCreation.cs b/ReportImp/PsychosozialeProjekteSaarpfalz/Invoicing/CustomInvoiceCreation.cs index e487986e1..dad4910b4 100644 --- a/ReportImp/PsychosozialeProjekteSaarpfalz/Invoicing/CustomInvoiceCreation.cs +++ b/ReportImp/PsychosozialeProjekteSaarpfalz/Invoicing/CustomInvoiceCreation.cs @@ -38,51 +38,7 @@ namespace PsychosozialeProjekteSaarpfalz.Invoicing public override List GenerateServiceInvoices(long costBearerOid, DateTimeSpan invoicePeriod, Dictionary> supportConcepts2ServiceRecords) { - var costBearer = DAOFactory.GenericDAO.LoadByID(costBearerOid); - var invoiceList = new List(); - var invoiceCounter = 0; - ServiceInvoice invoice; - - if (costBearer.IsSingleInvoicePerCustomer) - { - invoice = CreateCollectiveBilling(costBearer, invoicePeriod, supportConcepts2ServiceRecords); - if (invoice != null) - { - invoiceList.Add(invoice); - } - } - else - { - foreach (var iSupportConcept2ServiceRecords in supportConcepts2ServiceRecords) - { - invoice = CreateSingleInvoice(invoiceCounter, costBearer, invoicePeriod, iSupportConcept2ServiceRecords.Key, iSupportConcept2ServiceRecords.Value); - if (invoice != null) - { - //if (costBearer.RechnungProBewilligung) !!! NOCH VERGEBEN mit CB sprechen - if (invoice.ServiceInvoicePeriodList.Count > 1 && !invoice.ServiceInvoicePeriodList.Any(s => s.Start == invoicePeriod.StartDate && s.End == invoicePeriod.EndDate)) - { - foreach (var sip in invoice.ServiceInvoicePeriodList) - { - DateTimeSpan invPeriod = invoicePeriod; - invPeriod.StartDate = sip.Start.Value; - invPeriod.EndDate = sip.End.Value; - var partInvoice = CreateSingleInvoice(invoiceCounter, costBearer, invPeriod, iSupportConcept2ServiceRecords.Key, iSupportConcept2ServiceRecords.Value); - partInvoice.ServiceInvoicePeriodList.Add(sip); - invoiceList.Add(partInvoice); - invoiceCounter++; - } - } - else - { - invoiceList.Add(invoice); - invoiceCounter++; - } - } - } - } - - var result = invoiceList.Select(item => MapperFactory.ServiceInvoiceDC_ServiceInvoice.MapToNewDC(item)).ToList(); - return result.Count > 1 ? result.OrderBy(i => i.InvoiceBase.CustomerLastName).ToList() : result; + return GenerateServiceInvoices(costBearerOid, invoicePeriod, supportConcepts2ServiceRecords, true); } public override void SetSenderInformation(ServiceInvoice serviceInvoice) diff --git a/ReportImp/PsychosozialeProjekteSaarpfalz/RechnungSozio.cs b/ReportImp/PsychosozialeProjekteSaarpfalz/RechnungSozio.cs index 42894f66d..713e7abb3 100644 --- a/ReportImp/PsychosozialeProjekteSaarpfalz/RechnungSozio.cs +++ b/ReportImp/PsychosozialeProjekteSaarpfalz/RechnungSozio.cs @@ -38,8 +38,11 @@ namespace PsychosozialeProjekteSaarpfalz { sumPauschale += Convert.ToDecimal(ii.UnitDescription); } - sumMin += ii.ServiceRecord.RoundedDuration; - ii.RateFactor = String.Format("{0:N0}", ii.ServiceRecord.RoundedDuration); + if (ii.ServiceRecord != null) + { + sumMin += ii.ServiceRecord.RoundedDuration; + ii.RateFactor = String.Format("{0:N0}", ii.ServiceRecord.RoundedDuration); + } } } lblSumPausch.Text = String.Format("{0:0.00 €}", sumPauschale);