Files
BeWoPlaner/ReportImp/MobileEV/Invoicing/CustomInvoiceCreation.cs

50 lines
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BeWo.Data.Access;
using BeWo.Data.Entities;
using BeWo.Service.DCEntityMapper;
using BeWo.Service.Invoicing;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace MobileEV.Invoicing
{
public class CustomInvoiceCreation : InvoiceCreation
{
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "Dortmund";
invoice.InvoiceBase.InvoiceTypeText = "Sammelrechnung";
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap, Calculations calc)
{
return itemList;
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
var invoiceItem = base.CreateInvoiceItem(iServiceRecord, scap, calc);
invoiceItem.UnitCount = Convert.ToDecimal(Math.Round(Convert.ToDouble(invoiceItem.UnitCount), 2));
invoiceItem.AmountTotal = Convert.ToDecimal(Math.Round(invoiceItem.UnitCount.Value * invoiceItem.AmountPerUnit.Value, 2));
invoiceItem.GrossAmountTotal = invoiceItem.AmountTotal;
if (invoiceItem.ServiceRecord != null)
{
var betreuungsaufwand = BetreuungsaufwandHelper.GetBetreuungsaufwand(MapperFactory.ServiceRecordDC_ServiceRecord.MapToNewDC(invoiceItem.ServiceRecord));
if (betreuungsaufwand != null && betreuungsaufwand != 0)
{
invoiceItem.AmountTotal += betreuungsaufwand;
invoiceItem.GrossAmountTotal += betreuungsaufwand;
}
}
return invoiceItem;
}
}
}