using System;
using System.Collections.Generic;
using BeWo.Report.ReportObjects;
using BS.Shared.Core;


namespace BeWo.SozialeDiensteNiederrhein
{
	public class SozialeDiensteNiederrheinMaStundenkontoBerechnung : MitarbeiterstundenkontoBerechnung
	{

		public override decimal GetFeiertagsFaktor(DateTime start)
		{
			var osterSonntag = GetOsterSonntag(start.Year);
			var rosenMontag = osterSonntag.AddDays(-48);

			if (start.Month == rosenMontag.Month && start.Day == rosenMontag.Day)
			{
				return 0.5m;
			}
			if (start.Month == 12 && (start.Day == 24 || start.Day == 31))
			{
				return 0.5m;
			}
			return base.GetFeiertagsFaktor(start);
		}

		public override List<DateTime> GetFeiertage(int year)
		{
			var list = base.GetFeiertage(year);

			DateTime osterSonntag = GetOsterSonntag(year);
			list.Add(osterSonntag.AddDays(-48)); // Rosenmontag
			list.Add(new DateTime(year, 12, 31));

			return list;
		}


	}
}
