Files
BeWoPlaner/ReportImp/LebenszentrumKönigsborn/Invoicing/CustomInvoiceCreation.cs

38 lines
1.4 KiB
C#

using BeWo.Data.Entities;
using BeWo.Service.Invoicing;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LebenszentrumKoenigsborn.Invoicing
{
public class CustomInvoiceCreation : InvoiceCreation
{
public override IList<InvoiceItem> CreateInvoiceItems(List<ServiceRecordDC> serviceRecordsInPeriod, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
{
var list = new List<InvoiceItem>();
foreach (ServiceRecordDC iServiceRecord in serviceRecordsInPeriod)
{
if (iServiceRecord.ServiceDescription.Category.IsBillable)
{
if (!iServiceRecord.AlreadyAccounted)
{
InvoiceItem invoiceItem = CreateInvoiceItem(iServiceRecord, scap, calc);
if (invoiceItem != null && (!invoiceItem.GrossAmountTotal.HasValue || invoiceItem.GrossAmountTotal.HasValue && invoiceItem.GrossAmountTotal.Value != 0))
{
list.Add(invoiceItem);
}
iServiceRecord.AlreadyAccounted = true;
}
}
}
return CreateSummaryInvoiceItems(list, invoicePeriod, scap, calc);
}
}
}