Files
BeWoPlaner/ReportImp/PariMobil/Invoicing/AssistenzInvoiceCreation.cs

66 lines
2.4 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;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using BS.Shared.Services;
namespace PariMobil.Invoicing
{
public class CustomAssistenzInvoiceCreation : InvoiceCreation
{
public override void SetInvoiceId(ServiceInvoice invoice)
{
invoice.InvoiceBase.InvoiceId = "Assistenz";
invoice.InvoiceBase.InvoiceTypeText = "Assistenzleistung";
}
public override void SetAmountAdvancePayments(ServiceInvoice invoice)
{
//do nothing
}
public override void SetAmountEquityContribution(ServiceInvoice invoice)
{
//do nothing
}
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, Calculations calc)
{
if (!iServiceRecord.ServiceDescription.CategoryName.ToLower().Contains("assistenz"))
return null;
return base.CreateInvoiceItem(iServiceRecord, scap, calc);
//DateTime start = ii.ItemPeriodStart.Value;
//decimal preisAssistenz = 0;
//var cat = DAOFactory.SearchDAO.FindServiceCategoryByName("Assistenzleistungen");
//if (cat != null)
//{
// var crps = MapperFactory.CostRatePeriodDC_CostRatePeriod.MapToNewDCs(cat.CostRatePeriods);
// var cp = crps.GetCostRatePeriodForDate(CostRatePeriodType.AmountOfMoney, start);
// if (cp != null && cp.CostRateValue.HasValue)
// preisAssistenz = (decimal)cp.CostRateValue;
// ii.AmountPerUnit = preisAssistenz;
// ii.RateFactor = null;
// ii.AmountTotal = preisAssistenz * ii.UnitCount;
// ii.GrossAmountTotal = preisAssistenz * ii.UnitCount;
//}
//return ii;
}
public override IList<InvoiceItem> CreateSummaryInvoiceItems(IList<InvoiceItem> itemList, DateTimeSpan invoicePeriod, SupportConceptApprovalPeriod scap,
Calculations calc, bool summaryPerMonth, bool addRateFactorToUnitCount)
{
return base.CreateSummaryInvoiceItems(itemList, invoicePeriod, scap, calc, false, true);
}
}
}