50 lines
1.9 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|