MH: AachenerLaienhelfer Urlaubskonto Bugfix

This commit is contained in:
2026-03-10 12:38:00 +01:00
parent 15cf8f8a6f
commit b108ae690c

View File

@@ -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)
{