From b108ae690cd8c88cf75bf21c702e40c8a34d65d7 Mon Sep 17 00:00:00 2001 From: HirschleM Date: Tue, 10 Mar 2026 12:38:00 +0100 Subject: [PATCH] MH: AachenerLaienhelfer Urlaubskonto Bugfix --- .../Service/CustomVacationService.cs | 47 ++++++++++--------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/ReportImp/AachenerLaienhelfer/Service/CustomVacationService.cs b/ReportImp/AachenerLaienhelfer/Service/CustomVacationService.cs index aafecefa3..2db079bc7 100644 --- a/ReportImp/AachenerLaienhelfer/Service/CustomVacationService.cs +++ b/ReportImp/AachenerLaienhelfer/Service/CustomVacationService.cs @@ -41,12 +41,14 @@ namespace AachenerLaienhelfer.Service if (entryDate.Day == 1 && entryDate.Month == 1 || entryDate.Day == 2 && entryDate.Month == 1) //Erster Tag im Jahr { //Prüfen, ob Enddatum Ende des Jahres oder früher ist - if (endDate == null) - urlaubstage = (decimal)urlaubstageProJahr; - - else if (endDate.Value.Day == 31 && endDate.Value.Month == 12) - urlaubstage = (decimal)urlaubstageProJahr; + if (anzahlArbeitstage == 5) + { + if (endDate == null) + urlaubstage = (decimal)urlaubstageProJahr; + else if (endDate.Value.Day == 31 && endDate.Value.Month == 12) + urlaubstage = (decimal)urlaubstageProJahr; + } else { if (anzahlArbeitstage < 5) // weniger als 5 Tage (Urlaubsanspruch / 12 Monate * Monate Arbeit) / 5 * Wochenarbeitstage @@ -75,24 +77,25 @@ namespace AachenerLaienhelfer.Service return urlaubstage; } - public override decimal UrlaubstageRunden(decimal urlaubstage) - { - if (urlaubstage - (int)urlaubstage <= 0.1m) - { - urlaubstage = Math.Round(urlaubstage, MidpointRounding.AwayFromZero); - } - else if (urlaubstage - (int)urlaubstage <= 0.51m) - { - decimal digits = urlaubstage - (int)urlaubstage; - urlaubstage = urlaubstage - digits + 0.5m; - } - else if (urlaubstage - (int)urlaubstage > 0.51m) - { - urlaubstage = Math.Ceiling(urlaubstage); - } + //public override decimal UrlaubstageRunden(decimal urlaubstage) + //{ + // if (urlaubstage - (int)urlaubstage <= 0.1m) + // { + // urlaubstage = Math.Round(urlaubstage, MidpointRounding.AwayFromZero); + // } + // else if (urlaubstage - (int)urlaubstage <= 0.51m) + // { + // decimal digits = urlaubstage - (int)urlaubstage; + // urlaubstage = urlaubstage - digits + 0.5m; + // } + // else if (urlaubstage - (int)urlaubstage > 0.51m) + // { + // urlaubstage = Math.Ceiling(urlaubstage); + // } - return urlaubstage; - } + // return urlaubstage; + //} + // Standard, aber sonst nicht erreichbar private void SetLokaleFeiertagListe(int year) {