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; + } } }