LyvieKupfer/Invoicing/CustomInvoiceCreation - Einführung vom pausch. Faktor

This commit is contained in:
2026-02-18 16:37:45 +01:00
parent a3a5ed393d
commit 22d3089feb

View File

@@ -1,5 +1,8 @@
using BeWo.Data.Entities;
using BeWo.Service.Invoicing;
using BS.Shared;
using BS.Shared.DataContracts;
using BS.Shared.Extensions;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -10,6 +13,23 @@ namespace LyvieKupfer.Invoicing
{
public class CustomInvoiceCreation : InvoiceCreation
{
public override InvoiceItem CreateInvoiceItem(ServiceRecordDC iServiceRecord, SupportConceptApprovalPeriod scap, BS.Shared.Services.Calculations calc)
{
var ii = base.CreateInvoiceItem(iServiceRecord, scap, calc);
if (!ii.RateFactor.HasValue)
{
var rateFactor = iServiceRecord.CostBearer.CostRatePeriods.GetCostRatePeriodForDate(CostRatePeriodType.RateFactor, iServiceRecord.Start.Value);
if (rateFactor != null && rateFactor.CostRateValue.HasValue
&& !(iServiceRecord.ServiceDescription.Name.ToLower().Contains("fehlkontakt") || (iServiceRecord.ServiceDescription.ProzentAbrechnung.HasValue && iServiceRecord.ServiceDescription.ProzentAbrechnung.Value < 100)))
{
ii.RateFactor = rateFactor.CostRateValue;
//ii.UnitCount = ii.UnitCount.Value * ((100 + ii.RateFactor.Value) / 100);
//ii.GrossAmountTotal = ii.UnitCount * (ii.AmountPerUnit ?? 0);
}
}
return ii;
}
public override string GetSummaryItemKey(SupportConceptApprovalPeriod scap, InvoiceItem iitem, bool summaryPerMonth)
{
String key = String.Format("{0:0.0000}_{1}_{2}", iitem.AmountPerUnit, iitem.RateFactor, iitem.ItemDescription);