43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
using BeWo.Service.Plugins;
|
|
using BS.Shared.DataContracts;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace Humanitas.Service
|
|
{
|
|
public class CustomVacationService : VacationService
|
|
{
|
|
public override List<FeiertagDC> GetFeiertage(int year, string bundesland)
|
|
{
|
|
var feiertage = base.GetFeiertage(year, bundesland);
|
|
|
|
if (year >= 2025)
|
|
{
|
|
var heiligabend = feiertage.FirstOrDefault(f => f.Name == "Heilig Abend");
|
|
if (heiligabend != null)
|
|
feiertage.Remove(heiligabend);
|
|
}
|
|
|
|
if (year <= 2024)
|
|
feiertage.Add(new FeiertagDC { Datum = new DateTime(year, 12, 31), Name = "Silvester" });
|
|
|
|
return feiertage;
|
|
}
|
|
|
|
public override decimal GetFeiertagsFaktor(DateTime start)
|
|
{
|
|
if (start.Year > 2025)
|
|
{
|
|
DateTime osterSonntag = GetOsterSonntag(start.Year);
|
|
if (start.Date == osterSonntag.AddDays(-52).Date || start.Date == osterSonntag.AddDays(-48).Date)
|
|
{
|
|
return 0.5m;
|
|
}
|
|
}
|
|
|
|
return base.GetFeiertagsFaktor(start);
|
|
}
|
|
}
|
|
}
|