MH: Darstellung des Urlaubskontos gefixt
This commit is contained in:
@@ -454,8 +454,16 @@ namespace BeWo.Service.Plugins
|
||||
DateTime startForLoop = (spanne.Start.Value.Year == year) ? spanne.Start.Value : new DateTime(year, 1, 1);
|
||||
|
||||
// Tage auf den Zähler addieren, solange das sich erhöhende Datum vor dem Enddatum ist und wenn das Datum kein Wochenend- oder Feiertag ist
|
||||
|
||||
#region neu
|
||||
// Variable wird für jeden Tag hochgezählt und resettet, sobald wieder Montag ist. So kann vermieden werden, dass bei einer Arbeitswoche von unter 5 Tagen trotzdem 5 Tage Urlab abgezogen werden
|
||||
var tageInDerWoche = 0;
|
||||
#endregion
|
||||
while (startForLoop <= spanne.End.Value)
|
||||
{
|
||||
if (startForLoop.DayOfWeek == DayOfWeek.Monday)
|
||||
tageInDerWoche = 0;
|
||||
|
||||
var currentContract = contractsAndWeeklyDays.FirstOrDefault(c => startForLoop >= c.Key.EntryDate && startForLoop <= c.Key.ContractEndDate || startForLoop >= c.Key.EntryDate && c.Key.ContractEndDate == null);
|
||||
if (currentContract.Key == null)
|
||||
{
|
||||
@@ -464,8 +472,11 @@ namespace BeWo.Service.Plugins
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!CheckIstWochenende(currentContract.Value, startForLoop.DayOfWeek) && !IstFeiertag(startForLoop))
|
||||
if (!CheckIstWochenende(currentContract.Value, startForLoop.DayOfWeek) && !IstFeiertag(startForLoop) && tageInDerWoche < currentContract.Value )
|
||||
{
|
||||
summeTage++;
|
||||
tageInDerWoche++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -881,15 +892,23 @@ namespace BeWo.Service.Plugins
|
||||
end = maxend;
|
||||
}
|
||||
|
||||
|
||||
var tageInDerWoche = 0m;
|
||||
while (start <= end)
|
||||
{
|
||||
if (!CheckIstWochenende(workdays, start.DayOfWeek) && !IstFeiertag(start))
|
||||
if (start.DayOfWeek == DayOfWeek.Monday)
|
||||
tageInDerWoche = 0;
|
||||
if (!CheckIstWochenende(workdays, start.DayOfWeek) && !IstFeiertag(start) && tageInDerWoche < workdays.Value && tageInDerWoche + 1 <= workdays.Value)
|
||||
{
|
||||
if (start.Date == end.Date && start.TimeOfDay != end.TimeOfDay)
|
||||
{
|
||||
days += 0.5m;
|
||||
tageInDerWoche += 0.5m;
|
||||
}
|
||||
else
|
||||
{
|
||||
days++;
|
||||
tageInDerWoche++;
|
||||
}
|
||||
}
|
||||
|
||||
start = start.AddDays(1);
|
||||
|
||||
Reference in New Issue
Block a user