From 22d3089febc19a77982ddd7818aecfdbb5be8a83 Mon Sep 17 00:00:00 2001 From: Alexandra Date: Wed, 18 Feb 2026 16:37:45 +0100 Subject: [PATCH] =?UTF-8?q?LyvieKupfer/Invoicing/CustomInvoiceCreation=20-?= =?UTF-8?q?=20Einf=C3=BChrung=20vom=20pausch.=20Faktor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Invoicing/CustomInvoiceCreation.cs | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/ReportImp/LyvieKupfer/Invoicing/CustomInvoiceCreation.cs b/ReportImp/LyvieKupfer/Invoicing/CustomInvoiceCreation.cs index 83e02e429..eba7debb4 100644 --- a/ReportImp/LyvieKupfer/Invoicing/CustomInvoiceCreation.cs +++ b/ReportImp/LyvieKupfer/Invoicing/CustomInvoiceCreation.cs @@ -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);