From 1256e63c98a19d65ac869bbdb7d39b85fb274eb6 Mon Sep 17 00:00:00 2001 From: HirschleM Date: Fri, 29 Aug 2025 07:32:48 +0200 Subject: [PATCH] MH: aha EV Urlaubskonto Rundung --- ReportImp/ahaEV/CustomVacationService.cs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/ReportImp/ahaEV/CustomVacationService.cs b/ReportImp/ahaEV/CustomVacationService.cs index ce11a77fa..8fd3d7b80 100644 --- a/ReportImp/ahaEV/CustomVacationService.cs +++ b/ReportImp/ahaEV/CustomVacationService.cs @@ -57,7 +57,7 @@ namespace ahaEV urlaubstage = UrlaubstageRunden(urlaubstage); // Ab 2025 das hier else - urlaubstage = base.UrlaubstageRunden(urlaubstage); + urlaubstage = UrlaubstageRundenAberAndersAlsImStandard(urlaubstage); return urlaubstage; @@ -68,5 +68,24 @@ namespace ahaEV urlaubstage = Math.Round(urlaubstage * 2, MidpointRounding.AwayFromZero) / 2; return urlaubstage; } + + public decimal UrlaubstageRundenAberAndersAlsImStandard(decimal urlaubstage) + { + if (urlaubstage - (int)urlaubstage <= 0.1m) + { + urlaubstage = Math.Round(urlaubstage, MidpointRounding.AwayFromZero); + } + else if (urlaubstage - (int)urlaubstage <= 0.5m || urlaubstage - (int)urlaubstage <= 0.75m) + { + decimal digits = urlaubstage - (int)urlaubstage; + urlaubstage = urlaubstage - digits + 0.5m; + } + else if (urlaubstage - (int)urlaubstage <= 1.0m) + { + urlaubstage = Math.Ceiling(urlaubstage); + } + + return urlaubstage; + } } }