MH: Mittelpunkt Rechnungsstellung Verbesserung

This commit is contained in:
2026-07-09 10:59:48 +02:00
parent ed8694f3e3
commit 5ad6579367

View File

@@ -5,6 +5,7 @@ using BS.Shared;
using BS.Shared.Core;
using BS.Shared.DataContracts;
using BS.Shared.Services;
using DevExpress.Utils.DragDrop;
using System;
using System.Collections.Generic;
using System.Globalization;
@@ -33,7 +34,17 @@ namespace Mittelpunkt.Invoicing
}
else if (scap.ApprovedBEInterval == SupportConceptApprovalInterval.Monthly)
{
bewilligtGesamt = Convert.ToDecimal((scap.EndDate.Value - scap.StartDate.Value).TotalDays) / 30.4375m * scap.ApprovedBEPerInterval;
// Ist nur ein Monat bewilligt, kann der komplette Wert genommen werden
if (scap.StartDate.HasValue && scap.EndDate.HasValue &&
scap.StartDate.Value.Month == scap.EndDate.Value.Month && scap.StartDate.Value.Year == scap.EndDate.Value.Year &&
scap.EndDate.Value.Day == DateTime.DaysInMonth(scap.EndDate.Value.Year, scap.EndDate.Value.Month))
{
bewilligtGesamt = scap.ApprovedBEPerInterval;
}
else
{
bewilligtGesamt = Convert.ToDecimal((scap.EndDate.Value - scap.StartDate.Value).TotalDays) / 30.4375m * scap.ApprovedBEPerInterval;
}
bewilligtProMonat = scap.ApprovedBEPerInterval;
}
else
@@ -74,6 +85,11 @@ namespace Mittelpunkt.Invoicing
foreach (ServiceRecordDC iServiceRecord in serviceRecordsInPeriod)
{
if (iServiceRecord.Start.Value.Date >= new DateTime(2026, 06, 22))
{
}
// Woche des Jahres in jedem Durchlauf bestimmen, damit bei nicht übertragbaren Stunden nur so viel wie bewilligt abgerechnet wird
CultureInfo info = CultureInfo.CurrentCulture;
Calendar kalender = info.Calendar;