From 677c9dd8fc6cfa673f60032c862ce043047ae0e7 Mon Sep 17 00:00:00 2001 From: Kojo Date: Thu, 6 Nov 2025 18:50:40 +0100 Subject: [PATCH] BeWoRichter: Heiligabend und Silvester (ab 2025) als halbe Arbeitstage behandeln --- .../CustomMitarbeiterstundenkontoBerechnung.cs | 10 +++++++++- .../BeWoRichter/Service/CustomVacationService.cs | 11 ++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ReportImp/BeWoRichter/CustomMitarbeiterstundenkontoBerechnung.cs b/ReportImp/BeWoRichter/CustomMitarbeiterstundenkontoBerechnung.cs index 9698590d7..4ccbf88fa 100644 --- a/ReportImp/BeWoRichter/CustomMitarbeiterstundenkontoBerechnung.cs +++ b/ReportImp/BeWoRichter/CustomMitarbeiterstundenkontoBerechnung.cs @@ -92,6 +92,14 @@ namespace BeWoRichter return sum; + } + + public override decimal GetFeiertagsFaktor(DateTime start) + { + if (start.Month == 12 && (start.Day == 24 || start.Day == 31)) + return 0.5m; + + return base.GetFeiertagsFaktor(start); } - } + } } diff --git a/ReportImp/BeWoRichter/Service/CustomVacationService.cs b/ReportImp/BeWoRichter/Service/CustomVacationService.cs index 55c87cea0..9e363ad34 100644 --- a/ReportImp/BeWoRichter/Service/CustomVacationService.cs +++ b/ReportImp/BeWoRichter/Service/CustomVacationService.cs @@ -2,7 +2,8 @@ using BS.Shared.DataContracts; using System; using System.Collections.Generic; - +using System.Linq; + namespace BeWoRichter.Service { public class CustomVacationService : VacationService @@ -15,6 +16,14 @@ namespace BeWoRichter.Service DateTime osterSonntag = GetOsterSonntag(year); feiertage.Add(new FeiertagDC { Datum = osterSonntag.AddDays(-48), Name = "Rosenmontag" }); } + + if (year >= 2025) + { + var weihnachten = feiertage.FirstOrDefault(f => f.Name == "Heilig Abend"); + if (weihnachten != null) + feiertage.Remove(weihnachten); + } + return feiertage; }