Exemplo n.º 1
0
 public TeamDayHandler(int year, Data data)
 {
     Year     = year;
     Data     = data;
     Holidays = DateSystem.GetPublicHoliday(Year, CountryCode.SE);
     SetupTeamDays();
 }
Exemplo n.º 2
0
        /// <summary>
        /// Get
        /// </summary>
        /// <param name="year">The year</param>
        /// <returns></returns>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            //Only Statutory holidays
            var countryCode  = CountryCode.MX;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var firstMondayOfFebruary = DateSystem.FindDay(year, 2, DayOfWeek.Monday, 1);
            var thirdMondayOfMarch    = DateSystem.FindDay(year, 3, DayOfWeek.Monday, 3);
            var thirdMondayOfNovember = DateSystem.FindDay(year, 11, DayOfWeek.Monday, 3);
            var newYearDay            = new DateTime(year, 1, 1).Shift(saturday => saturday.AddDays(-1), sunday => sunday.AddDays(1));
            var laborDay        = new DateTime(year, 5, 1).Shift(saturday => saturday.AddDays(-1), sunday => sunday.AddDays(1));
            var independenceDay = new DateTime(year, 9, 16).Shift(saturday => saturday.AddDays(-1), sunday => sunday.AddDays(1));
            var inaugurationDay = new DateTime(year, 12, 1).Shift(saturday => saturday.AddDays(-1), sunday => sunday.AddDays(1));

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(newYearDay, "Año Nuevo", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(firstMondayOfFebruary, "Día de la Constitución", "Constitution Day", countryCode));
            items.Add(new PublicHoliday(thirdMondayOfMarch, "Natalicio de Benito Juárez", "Benito Juárez's birthday", countryCode));
            items.Add(new PublicHoliday(laborDay, "Día del Trabajo", "Labor Day", countryCode));
            items.Add(new PublicHoliday(independenceDay, "Día de la Independencia", "Independence Day", countryCode));
            items.Add(new PublicHoliday(thirdMondayOfNovember, "Día de la Revolución", "Revolution Day", countryCode));
            if ((year - 2) % 6 == 0)
            {
                items.Add(new PublicHoliday(inaugurationDay, "Transmisión del Poder Ejecutivo Federal", "Inauguration Day", countryCode));
            }
            items.Add(new PublicHoliday(year, 12, 25, "Navidad", "Christmas Day", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 3
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode  = CountryCode.CH;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var firstSundayOfSeptember = DateSystem.FindDay(year, 9, DayOfWeek.Sunday, 1);
            var thirdMondayOfSeptember = DateSystem.FindDay(year, 9, DayOfWeek.Monday, 3);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Neujahr", "New Year's Day", countryCode, 1967));
            items.Add(new PublicHoliday(year, 1, 2, "Berchtoldstag", "St. Berchtold's Day", countryCode, null, new string[] { "CH-ZH", "CH-BE", "CH-LU", "CH-OW", "CH-GL", "CH-ZG", "CH-FR", "CH-SO", "CH-SH", "CH-TG", "CH-VD", "CH-NE", "CH-GE", "CH-JU" }));
            items.Add(new PublicHoliday(year, 1, 6, "Heilige Drei Könige", "Epiphany", countryCode, null, new string[] { "CH-UR", "CH-SZ", "CH-GR", "CH-TI" }));
            items.Add(new PublicHoliday(year, 3, 19, "Josefstag", "Saint Joseph's Day", countryCode, null, new string[] { "CH-LU", "CH-UR", "CH-SZ", "CH-NW", "CH-ZG", "CH-GR", "CH-TI", "CH-VS" }));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Karfreitag", "Good Friday", countryCode, null, new string[] { "CH-ZH", "CH-BE", "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-GL", "CH-ZG", "CH-FR", "CH-SO", "CH-BS", "CH-BL", "CH-SH", "CH-AR", "CH-AI", "CH-SG", "CH-GR", "CH-AG", "CH-TG", "CH-VD", "CH-NE", "CH-GE", "CH-JU" }));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), "Ostermontag", "Easter Monday", countryCode, 1642, new string[] { "CH-ZH", "CH-BE", "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-GL", "CH-ZG", "CH-FR", "CH-SO", "CH-BS", "CH-BL", "CH-SH", "CH-AR", "CH-AI", "CH-SG", "CH-GR", "CH-AG", "CH-TG", "CH-TI", "CH-VD", "CH-NE", "CH-GE", "CH-JU" }));
            items.Add(new PublicHoliday(year, 5, 1, "Tag der Arbeit", "Labour Day", countryCode, null, new string[] { "CH-ZH", "CH-FR", "CH-SO", "CH-BS", "CH-BL", "CH-SH", "CH-AG", "CH-TG", "CH-TI", "CH-NE", "CH-JU" }));
            items.Add(new PublicHoliday(easterSunday.AddDays(39), "Auffahrt", "Ascension Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(50), "Pfingstmontag", "Whit Monday", countryCode, null, new string[] { "CH-ZH", "CH-BE", "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-GL", "CH-ZG", "CH-FR", "CH-SO", "CH-BS", "CH-BL", "CH-SH", "CH-AR", "CH-AI", "CH-SG", "CH-GR", "CH-AG", "CH-TG", "CH-TI", "CH-VD", "CH-NE", "CH-GE", "CH-JU" }));
            items.Add(new PublicHoliday(easterSunday.AddDays(60), "Fronleichnam", "Corpus Christi", countryCode, null, new string[] { "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-ZG", "CH-FR", "CH-SO", "CH-BL", "CH-AI", "CH-GR", "CH-AG", "CH-TI", "CH-VS", "CH-NE", "CH-JU" }));
            items.Add(new PublicHoliday(year, 8, 1, "Bundesfeier", "Swiss National Day", countryCode));
            items.Add(new PublicHoliday(year, 8, 15, "Maria Himmelfahrt", "Assumption of the Virgin Mary", countryCode, null, new string[] { "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-ZG", "CH-FR", "CH-SO", "CH-BL", "CH-AI", "CH-GR", "CH-AG", "CH-TI", "CH-VS", "CH-JU" }));
            items.Add(new PublicHoliday(year, 11, 1, "Allerheiligen", "All Saints' Day", countryCode, null, new string[] { "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-GL", "CH-ZG", "CH-FR", "CH-SO", "CH-AI", "CH-SG", "CH-GR", "CH-AG", "CH-TI", "CH-VS", "CH-JU" }));
            items.Add(new PublicHoliday(year, 12, 8, "Mariä Empfängnis", "Immaculate Conception", countryCode, null, new string[] { "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-ZG", "CH-FR", "CH-SO", "CH-AI", "CH-GR", "CH-AG", "CH-TI", "CH-VS" }));
            items.Add(new PublicHoliday(year, 12, 25, "Weihnachten", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "Stephanstag", "St. Stephen's Day", countryCode, null, new string[] { "CH-AG", "CH-AI", "CH-AR", "CH-BL", "CH-BS", "CH-BE", "CH-FR", "CH-GL", "CH-GR", "CH-LU", "CH-NW", "CH-OW", "CH-SG", "CH-SH", "CH-SZ", "CH-SO", "CH-TG", "CH-TI", "CH-UR", "CH-ZG", "CH-ZH" }));

            items.Add(new PublicHoliday(firstSundayOfSeptember.AddDays(4), "Jeûne genevois", "Geneva Prayday", countryCode, null, new string[] { "CH-GE" }));
            items.Add(new PublicHoliday(thirdMondayOfSeptember, "Eidgenössischer Dank-, Buss- und Bettag", "Federal Day of Thanksgiving", countryCode, null, new string[] { "CH-ZH", "CH-BE", "CH-LU", "CH-UR", "CH-SZ", "CH-OW", "CH-NW", "CH-GL", "CH-ZG", "CH-FR", "CH-SO", "CH-BS", "CH-BL", "CH-SH", "CH-AR", "CH-AI", "CH-SG", "CH-GR", "CH-AG", "CH-TG", "CH-TI", "CH-VD", "CH-VS", "CH-NE", "CH-JU" }));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 4
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode = CountryCode.SE;

            var midsummerDay = DateSystem.FindDay(year, Month.June, 20, DayOfWeek.Saturday);
            var allSaintsDay = DateSystem.FindDay(year, Month.October, 31, DayOfWeek.Saturday);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Nyårsdagen", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 1, 6, "Trettondedag jul", "Epiphany", countryCode));
            items.Add(this._catholicProvider.GoodFriday("Långfredagen", year, countryCode));
            items.Add(this._catholicProvider.EasterSunday("Påskdagen", year, countryCode));
            items.Add(this._catholicProvider.EasterMonday("Annandag påsk", year, countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Första maj", "International Workers' Day", countryCode));
            items.Add(this._catholicProvider.AscensionDay("Kristi himmelsfärds dag", year, countryCode));
            if (year >= 2005)
            {
                items.Add(new PublicHoliday(year, 6, 6, "Sveriges nationaldag", "National Day of Sweden", countryCode));
            }
            items.Add(this._catholicProvider.Pentecost("Pingstdagen", year, countryCode));
            if (year < 2005)
            {
                items.Add(this._catholicProvider.WhitMonday("Annandag Pingst", year, countryCode));
            }
            items.Add(new PublicHoliday(midsummerDay.AddDays(-1), "Midsommarafton", "Midsummer Eve", countryCode));
            items.Add(new PublicHoliday(midsummerDay, "Midsommar", "Midsummer Day", countryCode));
            items.Add(new PublicHoliday(allSaintsDay, "Alla helgons dag", "All Saints' Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 24, "Julafton", "Christmas Eve", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Juldagen", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "Annandag jul", "St. Stephen's Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 31, "Nyårsafton", "New Year's Eve", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 5
0
        public void CheckCounties()
        {
            foreach (CountryCode countryCode in Enum.GetValues(typeof(CountryCode)))
            {
                var provider = DateSystem.GetPublicHolidayProvider(countryCode);
                if (provider is ICountyProvider countyProvider)
                {
                    var counties = countyProvider.GetCounties();

                    var publicHolidays = DateSystem.GetPublicHoliday(DateTime.Now.Year, countryCode);
                    foreach (var publicHoliday in publicHolidays)
                    {
                        if (publicHoliday.Counties == null)
                        {
                            continue;
                        }

                        if (publicHoliday.Counties.Count(o => counties.Keys.Contains(o)) != publicHoliday.Counties.Count())
                        {
                            var diff = publicHoliday.Counties.Except(counties.Keys);
                            Assert.Fail($"Unknown countie in {provider} {string.Join(",", diff)}");
                        }
                    }
                }
            }
        }
Exemplo n.º 6
0
        public void CheckPublicHolidayWithDateFilter1()
        {
            var items = DateSystem.GetPublicHoliday(CountryCode.DE, new DateTime(2016, 5, 1), new DateTime(2018, 5, 31));

            Assert.IsTrue(items.First().Date > new DateTime(2016, 4, 28));
            Assert.IsTrue(items.Last().Date < new DateTime(2018, 6, 1));
        }
Exemplo n.º 7
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode = CountryCode.PR;

            var secondMondayInJanuary    = DateSystem.FindDay(year, Month.January, DayOfWeek.Monday, Occurrence.Second);
            var thirdMondayInJanuary     = DateSystem.FindDay(year, Month.January, DayOfWeek.Monday, Occurrence.Third);
            var thirdMondayInFebruary    = DateSystem.FindDay(year, Month.February, DayOfWeek.Monday, Occurrence.Third);
            var thirdMondayInApril       = DateSystem.FindDay(year, Month.April, DayOfWeek.Monday, Occurrence.Third);
            var lastMondayInMay          = DateSystem.FindLastDay(year, Month.May, DayOfWeek.Monday);
            var thirdMondayInJuly        = DateSystem.FindDay(year, Month.July, DayOfWeek.Monday, Occurrence.Third);
            var firstMondayInSeptember   = DateSystem.FindDay(year, Month.September, DayOfWeek.Monday, Occurrence.First);
            var secondMondayInOctober    = DateSystem.FindDay(year, Month.October, DayOfWeek.Monday, Occurrence.Second);
            var fourthThursdayInNovember = DateSystem.FindDay(year, Month.November, DayOfWeek.Thursday, Occurrence.Fourth);

            var items = new List <PublicHoliday>();

            #region New Years Day with fallback

            var newYearsDay = new DateTime(year, 1, 1).Shift(saturday => saturday.AddDays(-1), sunday => sunday.AddDays(1));
            items.Add(new PublicHoliday(newYearsDay, "Día de Año Nuevo", "New Year's Day", countryCode));

            #endregion

            items.Add(new PublicHoliday(year, 1, 6, "Día de Reyes", "Three Kings Day / Epiphany", countryCode));
            items.Add(new PublicHoliday(secondMondayInJanuary, "Natalicio de Eugenio María de Hostos", "Birthday of Eugenio María de Hostos", countryCode));
            items.Add(new PublicHoliday(thirdMondayInJanuary, "Natalicio de Martin Luther King, Jr.", "Martin Luther King, Jr. Day", countryCode));
            items.Add(new PublicHoliday(thirdMondayInFebruary, "Día de los Presidentes", "Presidents' Day", countryCode));
            items.Add(new PublicHoliday(year, 2, 18, "Natalicio de Luis Muñoz Marín", "Birthday of Luis Muñoz Marín", countryCode));
            items.Add(new PublicHoliday(year, 3, 22, "Día de la Abolición de Esclavitud", "Emancipation Day", countryCode));
            items.Add(this._catholicProvider.GoodFriday("Viernes Santo", year, countryCode));
            items.Add(new PublicHoliday(thirdMondayInApril, "Natalicio de José de Diego", "Birthday of José de Diego", countryCode));
            items.Add(new PublicHoliday(lastMondayInMay, "Recordación de los Muertos de la Guerra", "Memorial Day", countryCode));

            #region Independence Day with fallback

            var independenceDay = new DateTime(year, 7, 4).Shift(saturday => saturday.AddDays(-1), sunday => sunday.AddDays(1));
            items.Add(new PublicHoliday(independenceDay, "Día de la Independencia de los Estados Unidos", "Independence Day", countryCode));

            #endregion

            items.Add(new PublicHoliday(thirdMondayInJuly, "Natalicio de Don Luis Muñoz Rivera", "Birthday of Don Luis Muñoz Rivera", countryCode));
            items.Add(new PublicHoliday(year, 7, 25, "Constitución de Puerto Rico", "Puerto Rico Constitution Day", countryCode));
            items.Add(new PublicHoliday(year, 7, 27, "Natalicio de Dr. José Celso Barbosa", "Birthday of Dr. José Celso Barbosa", countryCode));
            items.Add(new PublicHoliday(firstMondayInSeptember, "Día del Trabajo", "Labour Day", countryCode));
            items.Add(new PublicHoliday(secondMondayInOctober, "Día de la Raza Descubrimiento de América", "Columbus Day", countryCode));

            #region Veterans Day with fallback

            var veteransDay = new DateTime(year, 11, 11).Shift(saturday => saturday.AddDays(-1), sunday => sunday.AddDays(1));
            items.Add(new PublicHoliday(veteransDay, "Día del Veterano Día del Armisticio", "Veterans Day", countryCode));

            #endregion

            items.Add(new PublicHoliday(year, 11, 19, "Día del Descubrimiento de Puerto Rico", "Discovery of Puerto Rico", countryCode));
            items.Add(new PublicHoliday(fourthThursdayInNovember, "Día de Acción de Gracias", "Thanksgiving Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 24, "Noche Buena", "Christmas Eve", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Navidad", "Christmas Day", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 8
0
        private void buttonGet_Click(object sender, EventArgs e)
        {
            var countryCode    = this.comboBoxCountry.Text;
            var publicHolidays = DateSystem.GetPublicHoliday(countryCode, DateTime.Now.Year);

            this.dataGridViewPublicHoliday.DataSource = publicHolidays;
        }
Exemplo n.º 9
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode  = CountryCode.AX;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var thirdFridayInJune       = DateSystem.FindDay(year, Month.June, DayOfWeek.Friday, Occurrence.Third);
            var thirdSaturdayInJune     = DateSystem.FindDay(year, Month.June, DayOfWeek.Saturday, Occurrence.Third);
            var firstSaturdayInNovember = DateSystem.FindDay(year, Month.November, DayOfWeek.Saturday, Occurrence.First);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Nyårsdagen", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 6, 1, "Trettondagen", "Epiphany", countryCode));
            items.Add(new PublicHoliday(year, 3, 30, "Ålands demilitariseringsdag", "Demilitarization Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Långfredag", "Good Friday", countryCode));
            items.Add(new PublicHoliday(easterSunday, "Påskdagen", "Easter Sunday", countryCode, 1642));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), "Annandag påsk", "Easter Monday", countryCode, 1642));
            items.Add(new PublicHoliday(year, 4, 30, "Valborgsmässoafton", "Walpurgis Night", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Första maj", "May Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(39), "Kristi himmelsfärdsdagn", "Ascension Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(49), "Pingstdagen", "Pentecost", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(50), "Annandag Pingst", "Whit Monday", countryCode));
            items.Add(new PublicHoliday(year, 6, 9, "Självstyrelsedagen", "Autonomy Day", countryCode));
            items.Add(new PublicHoliday(thirdFridayInJune, "Midsommarafton", "Midsummer Eve", countryCode));
            items.Add(new PublicHoliday(thirdSaturdayInJune, "Midsommardagen", "Midsummer Day", countryCode));
            items.Add(new PublicHoliday(firstSaturdayInNovember, "Alla helgons dag", "All Saints Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 6, "Självständighetsdagen", "Independence Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 24, "Julafton", "Christmas Eve", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Juldagen", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "Annandag jul", "St. Stephen's Day", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 10
0
        public ActionResult IsTodayPublicHoliday(
            [FromRoute][Required] string countryCode,
            [FromQuery] string countyCode,
            [FromQuery][Range(-12, 12)] int offset = 0)
        {
            if (!Enum.TryParse(countryCode, true, out CountryCode parsedCountryCode))
            {
                return(this.StatusCode(StatusCodes.Status404NotFound));
            }

            if (string.IsNullOrEmpty(countyCode))
            {
                if (DateSystem.IsPublicHoliday(DateTime.UtcNow.AddHours(offset), parsedCountryCode))
                {
                    return(this.StatusCode(StatusCodes.Status200OK));
                }

                return(this.StatusCode(StatusCodes.Status204NoContent));
            }

            if (DateSystem.IsPublicHoliday(DateTime.UtcNow.AddHours(offset), parsedCountryCode, countyCode))
            {
                return(this.StatusCode(StatusCodes.Status200OK));
            }

            return(this.StatusCode(StatusCodes.Status204NoContent));
        }
Exemplo n.º 11
0
        public override IEnumerable <PublicHoliday> Get(int year)
        {
            //Sweden
            //https://en.wikipedia.org/wiki/Public_holidays_in_Sweden

            var countryCode  = CountryCode.SE;
            var easterSunday = base.EasterSunday(year);

            var midsummerDay = DateSystem.FindDay(year, 6, 20, DayOfWeek.Saturday);
            var allSaintsDay = DateSystem.FindDay(year, 10, 31, DayOfWeek.Saturday);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "nyårsdagen", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 1, 6, "trettondedag jul", "Epiphany", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "långfredagen", "Good Friday", countryCode));
            items.Add(new PublicHoliday(easterSunday, "Påsk", "Easter Sunday", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), "annandag påsk", "Easter Monday", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Första maj", "International Workers' Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(39), "Kristi himmelsfärds dag", "Ascension Day", countryCode));
            items.Add(new PublicHoliday(year, 6, 6, "Sveriges nationaldag", "National Day of Sweden", countryCode));
            items.Add(new PublicHoliday(midsummerDay.AddDays(-1), "midsommarafton", "Midsummer Eve", countryCode));
            items.Add(new PublicHoliday(midsummerDay, "midsommardagen", "Midsummer Day", countryCode));
            items.Add(new PublicHoliday(allSaintsDay, "alla helgons dag", "All Saints' Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 24, "julafton", "Christmas Eve", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "juldagen", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "annandag jul", "St. Stephen's Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 31, "nyårsafton", "New Year's Eve", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 12
0
        public override IEnumerable <PublicHoliday> Get(int year)
        {
            //Moldova
            //https://en.wikipedia.org/wiki/Public_holidays_in_Moldova

            var countryCode  = CountryCode.MD;
            var easterSunday = base.EasterSunday(year);

            var lastMondayInMay = DateSystem.FindLastDay(year, 8, DayOfWeek.Monday);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "New Year's Day", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 1, 7, "Craciun pe stil Vechi (Orthodox Christmas)", "Craciun pe stil Vechi (Orthodox Christmas)", countryCode));
            items.Add(new PublicHoliday(year, 1, 8, "Craciun pe stil Vechi (Orthodox Christmas)", "Craciun pe stil Vechi (Orthodox Christmas)", countryCode));
            items.Add(new PublicHoliday(year, 2, 23, "Day of Veterans of the Armed Forces and Law Enforcement Agencies", "Day of Veterans of the Armed Forces and Law Enforcement Agencies", countryCode));
            items.Add(new PublicHoliday(year, 3, 8, "International Women's Day", "International Women's Day", countryCode));
            items.Add(new PublicHoliday(easterSunday, "Orthodox Easter", "Orthodox Easter", countryCode));
            items.Add(new PublicHoliday(lastMondayInMay, "Memorial Day", "Memorial Day", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Labour Day (Moldova)", "Labour Day (Moldova)", countryCode));
            items.Add(new PublicHoliday(year, 5, 9, "Victory and Commemoration Day", "Victory and Commemoration Day", countryCode));
            items.Add(new PublicHoliday(year, 5, 22, "Bălţi Day", "Bălţi Day", countryCode));
            items.Add(new PublicHoliday(year, 8, 27, "Independence Day (Moldova)", "Independence Day (Moldova)", countryCode));
            items.Add(new PublicHoliday(year, 8, 31, "Limba Noastra (National Language Day (Moldova))", "Limba Noastra (National Language Day (Moldova))", countryCode));
            items.Add(new PublicHoliday(year, 9, 3, "Day of the Moldovan National Army", "Day of the Moldovan National Army", countryCode));
            items.Add(new PublicHoliday(year, 10, 14, "Capital's Day", "Capital's Day", countryCode));
            items.Add(new PublicHoliday(year, 11, 21, "South Capital's Day Cahul", "South Capital's Day Cahul", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Craciun pe stil Nou (Western Christmas)", "Craciun pe stil Nou (Western Christmas)", countryCode));

            //Not a public holiday
            //items.Add(new PublicHoliday(year, 3, 1, "Martisor (first day of spring)", "Martisor (first day of spring)", countryCode, null, null, false));
            //items.Add(new PublicHoliday(year, 6, 1, "Children's Day", "Children's Day", countryCode, null, null, false));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 13
0
        public override IEnumerable <PublicHoliday> Get(int year)
        {
            //Iceland
            //https://en.wikipedia.org/wiki/Public_holidays_in_Iceland

            var countryCode  = CountryCode.IS;
            var easterSunday = base.EasterSunday(year);

            var firstDayOfSummer    = DateSystem.FindDay(year, 4, 19, DayOfWeek.Thursday);
            var firstMondayInAugust = DateSystem.FindDay(year, 8, DayOfWeek.Monday, 1);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Nýársdagur", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-3), "Skírdagur", "Maundy Thursday", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Föstudagurinn langi", "Good Friday", countryCode));
            items.Add(new PublicHoliday(easterSunday, "Páskadagur", "Easter Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), "Annar í páskum", "Easter Monday", countryCode));
            items.Add(new PublicHoliday(firstDayOfSummer, "Sumardagurinn fyrsti", "First Day of Summer", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Verkalýðsdagurinn", "May Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(39), "Uppstigningardagur", "Ascension Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(49), "Hvítasunnudagur", "Whit Sunday", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(50), "Annar í hvítasunnu", "Whit Monday", countryCode));
            items.Add(new PublicHoliday(year, 6, 17, "Þjóðhátíðardagurinn", "Icelandic National Day", countryCode));
            items.Add(new PublicHoliday(year, 8, firstMondayInAugust, "Frídagur verslunarmanna", "Commerce Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 24, "Aðfangadagur", "Christmas Eve", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Jóladagur", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "Annar í jólum", "St. Stephen's Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 31, "Gamlársdagur", "New Year's Eve", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 14
0
        public void TestChina2018()
        {
            var publicHolidays = DateSystem.GetPublicHoliday(CountryCode.CN, 2018).ToArray();

            Assert.IsTrue(publicHolidays.Where(o => o.Date == new DateTime(2018, 9, 24) && o.Name == "Mid-Autumn Festival").Any());
            Assert.IsTrue(publicHolidays.Where(o => o.Date == new DateTime(2018, 4, 5) && o.Name == "Qingming Festival (Tomb-Sweeping Day)").Any());
        }
Exemplo n.º 15
0
        public void TestCanada()
        {
            var publicHolidays = DateSystem.GetPublicHolidays(2017, CountryCode.CA).ToArray();

            //New Year's Day
            Assert.AreEqual(new DateTime(2017, 1, 1), publicHolidays[0].Date);
        }
Exemplo n.º 16
0
        public void TestHungary()
        {
            var publicHolidays = DateSystem.GetPublicHoliday(CountryCode.HU, 2018).ToArray();

            //New Year's Day
            Assert.AreEqual(new DateTime(2018, 1, 1), publicHolidays[0].Date);
            //1848 Revolution Memorial Day
            Assert.AreEqual(new DateTime(2018, 3, 15), publicHolidays[1].Date);
            //Good Friday
            Assert.AreEqual(new DateTime(2018, 3, 30), publicHolidays[2].Date);
            //Easter Sunday
            Assert.AreEqual(new DateTime(2018, 4, 1), publicHolidays[3].Date);
            //Easter Monday
            Assert.AreEqual(new DateTime(2018, 4, 2), publicHolidays[4].Date);
            //Labour day
            Assert.AreEqual(new DateTime(2018, 5, 1), publicHolidays[5].Date);
            //Pentecost
            Assert.AreEqual(new DateTime(2018, 5, 20), publicHolidays[6].Date);
            //Whit Monday
            Assert.AreEqual(new DateTime(2018, 5, 21), publicHolidays[7].Date);
            //State Foundation Day
            Assert.AreEqual(new DateTime(2018, 8, 20), publicHolidays[8].Date);
            //1956 Revolution Memorial Day
            Assert.AreEqual(new DateTime(2018, 10, 23), publicHolidays[9].Date);
            //All Saints Day
            Assert.AreEqual(new DateTime(2018, 11, 1), publicHolidays[10].Date);
            //Christmas Day
            Assert.AreEqual(new DateTime(2018, 12, 25), publicHolidays[11].Date);
            //St. Stephen's Day
            Assert.AreEqual(new DateTime(2018, 12, 26), publicHolidays[12].Date);
        }
Exemplo n.º 17
0
        /// <summary>
        /// Get
        /// </summary>
        /// <param name="year">The year</param>
        /// <returns></returns>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode  = CountryCode.FI;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var midsummerEve = DateSystem.FindDay(year, 6, 19, DayOfWeek.Friday);
            var midsummerDay = DateSystem.FindDay(year, 6, 20, DayOfWeek.Saturday);
            var allSaintsDay = DateSystem.FindDay(year, 11, 19, DayOfWeek.Saturday);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Uudenvuodenpäivä", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 1, 6, "Loppiainen", "Epiphany", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Pitkäperjantai", "Good Friday", countryCode));
            items.Add(new PublicHoliday(easterSunday, "Pääsiäispäivä", "Easter Sunday", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), "2. pääsiäispäivä", "Easter Monday", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Vappu", "May Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(39), "Helatorstai", "Ascension Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(49), "Helluntaipäivä", "Pentecost", countryCode));
            items.Add(new PublicHoliday(midsummerEve, "Juhannusaatto", "Midsummer Eve", countryCode));
            items.Add(new PublicHoliday(midsummerDay, "Juhannuspäivä", "Midsummer Day", countryCode));
            items.Add(new PublicHoliday(allSaintsDay, "Pyhäinpäivä", "All Saints' Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 6, "Itsenäisyyspäivä", "Independence Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 24, "Jouluaatto", "Christmas Eve", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Joulupäivä", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "2. joulupäivä", "St. Stephen's Day", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 18
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode  = CountryCode.AR;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var thirdMondayInAugust   = DateSystem.FindDay(year, Month.August, DayOfWeek.Monday, Occurrence.Third);
            var secondMondayInOctober = DateSystem.FindDay(year, Month.October, DayOfWeek.Monday, Occurrence.Second);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Año Nuevo", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-48), "Carnaval", "Carnival", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-47), "Carnaval", "Carnival", countryCode));
            items.Add(new PublicHoliday(year, 3, 24, "Día Nacional de la Memoria por la Verdad y la Justicia", "Day of Remembrance for Truth and Justice", countryCode));
            items.Add(new PublicHoliday(year, 4, 2, "Día del Veterano y de los Caídos en la Guerra de Malvinas", "Day of the Veterans and Fallen of the Malvinas War", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Viernes Santo", "Good Friday", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Día del Trabajador", "Labour Day", countryCode));
            items.Add(new PublicHoliday(year, 5, 25, "Día de la Revolución de Mayo", "May Revolution", countryCode));
            items.Add(new PublicHoliday(year, 6, 17, "Paso a la Inmortalidad del General Martín Miguel de Güemes", "Anniversary of the Passing of General Martín Miguel de Güemes", countryCode, 2016));
            items.Add(new PublicHoliday(year, 6, 20, "Paso a la Inmortalidad del General Manuel Belgrano", "General Manuel Belgrano Memorial Day", countryCode));
            items.Add(new PublicHoliday(year, 7, 9, "Día de la Independencia", "Independence Day", countryCode));
            items.Add(new PublicHoliday(thirdMondayInAugust, "Paso a la Inmortalidad del General José de San Martín", "General José de San Martín Memorial Day", countryCode));
            items.Add(new PublicHoliday(secondMondayInOctober, "Día del Respeto a la Diversidad Cultural", "Day of Respect for Cultural Diversity", countryCode));
            items.Add(new PublicHoliday(year, 11, 20, "Día de la Soberanía Nacional", "National Sovereignty Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 8, "Día de la Inmaculada Concepción de María", "Immaculate Conception Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Navidad", "Christmas Day", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 19
0
        public void TestTurkey()
        {
            var publicHolidays = DateSystem.GetPublicHolidays(2017, CountryCode.TR).ToArray();

            //New Year's Day
            Assert.AreEqual(new DateTime(2017, 1, 1), publicHolidays[0].Date);

            //National Independence & Children's Day
            Assert.AreEqual(new DateTime(2017, 4, 23), publicHolidays[1].Date);

            //Labour Day
            Assert.AreEqual(new DateTime(2017, 5, 1), publicHolidays[2].Date);

            //Atatürk Commemoration & Youth Day
            Assert.AreEqual(new DateTime(2017, 5, 19), publicHolidays[3].Date);

            //Democracy Day
            Assert.AreEqual(new DateTime(2017, 7, 15), publicHolidays[4].Date);

            //Victory Day
            Assert.AreEqual(new DateTime(2017, 8, 30), publicHolidays[5].Date);

            //Republic Day
            Assert.AreEqual(new DateTime(2017, 10, 29), publicHolidays[6].Date);
        }
Exemplo n.º 20
0
        public void TestChina2019()
        {
            var publicHolidays = DateSystem.GetPublicHoliday(2019, CountryCode.CN).ToArray();

            Assert.IsTrue(publicHolidays.Any(o => o.Date == new DateTime(2019, 9, 13) && o.Name == "Mid-Autumn Festival"));
            Assert.IsTrue(publicHolidays.Any(o => o.Date == new DateTime(2019, 4, 5) && o.Name == "Qingming Festival (Tomb-Sweeping Day)"));
        }
Exemplo n.º 21
0
        public override IEnumerable <PublicHoliday> Get(int year)
        {
            //Latvia
            //https://en.wikipedia.org/wiki/Public_holidays_in_Latvia

            var countryCode  = CountryCode.LV;
            var easterSunday = base.EasterSunday(year);

            var secondSundayInMay = DateSystem.FindDay(year, 5, DayOfWeek.Sunday, 2);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Jaunais Gads", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Lielā Piektdiena", "Good Friday", countryCode));
            items.Add(new PublicHoliday(easterSunday, "Lieldienas", "Easter Sunday", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), "Otrās Lieldienas", "Easter Monday", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Darba svētki", "Labour Day", countryCode));
            items.Add(new PublicHoliday(year, 5, 4, "Latvijas Republikas Neatkarības atjaunošanas diena", "Restoration of Independence day", countryCode));
            items.Add(new PublicHoliday(secondSundayInMay, "Mātes diena", "Mother's day", countryCode));
            items.Add(new PublicHoliday(year, 6, 23, "Līgo Diena", "Midsummer Eve", countryCode));
            items.Add(new PublicHoliday(year, 6, 24, "Jāņi", "Midsummer Day", countryCode));
            items.Add(new PublicHoliday(year, 11, 18, "Latvijas Republikas proklamēšanas diena", "Proclamation Day of the Republic of Latvia", countryCode));
            items.Add(new PublicHoliday(year, 12, 24, "Ziemassvētku vakars", "Christmas Eve", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Ziemassvētki", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "Otrie Ziemassvētki", "St. Stephen's Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 31, "Vecgada vakars", "New Year's Eve", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 22
0
        public ActionResult <IEnumerable <PublicHolidayDto> > PublicHolidays(
            [FromRoute][Required] string countryCode,
            [FromQuery] string countyCode)
        {
            if (!Enum.TryParse(countryCode, true, out CountryCode parsedCountryCode))
            {
                return(StatusCode(StatusCodes.Status404NotFound));
            }

            if (string.IsNullOrEmpty(countyCode))
            {
                if (DateSystem.IsPublicHoliday(DateTime.Today, parsedCountryCode))
                {
                    return(StatusCode(StatusCodes.Status200OK));
                }

                return(StatusCode(StatusCodes.Status204NoContent));
            }

            if (DateSystem.IsPublicHoliday(DateTime.Today, parsedCountryCode, countyCode))
            {
                return(StatusCode(StatusCodes.Status200OK));
            }

            return(StatusCode(StatusCodes.Status204NoContent));
        }
Exemplo n.º 23
0
        /// <summary>
        /// Get
        /// </summary>
        /// <param name="year">The year</param>
        /// <returns></returns>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode  = CountryCode.GD;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var firstMondayInAugust = DateSystem.FindDay(year, 8, DayOfWeek.Monday, 1);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "New Year's Day", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 2, 7, "Independence Day", "Independence Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Good Friday", "Good Friday", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), " Easter Monday", " Easter Monday", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Labour Day", "Labour Day", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Indian Arrival Day", "Indian Arrival Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(50), "Whit Monday", "Whit Monday", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(60), "Corpus Christi", "Corpus Christi", countryCode));
            items.Add(new PublicHoliday(firstMondayInAugust, "Emancipation Day", "Emancipation Day", countryCode));
            items.Add(new PublicHoliday(year, 8, 11, "Carnival", "Carnival", countryCode));
            items.Add(new PublicHoliday(year, 10, 25, "Thanksgiving Day", "Thanksgiving Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Christmas Day", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "Boxing Day", "Boxing Day", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 24
0
        public ActionResult Country(string countrycode, int year = 0)
        {
            if (year == 0)
            {
                year = DateTime.Now.Year;
            }

            CountryCode countryCode;

            if (!Enum.TryParse(countrycode, true, out countryCode))
            {
                return(View("NotFound"));
            }

            var isoCountry = Iso3166Countries.GetCountryByAlpha2(countryCode.ToString());

            var item = new PublicHolidayInfo();

            item.Country        = isoCountry.ActiveDirectoryName;
            item.CountryCode    = countrycode;
            item.Year           = year;
            item.PublicHolidays = DateSystem.GetPublicHoliday(countryCode, year).ToList();
            item.LongWeekends   = DateSystem.GetLongWeekend(countryCode, year).ToList();

            if (item.PublicHolidays.Count > 0)
            {
                return(View(item));
            }

            return(View("NotFound"));
        }
Exemplo n.º 25
0
        public void TestAustria()
        {
            var publicHolidays = DateSystem.GetPublicHolidays(2017, CountryCode.AT).ToArray();

            //New Year's Day
            Assert.AreEqual(new DateTime(2017, 1, 1), publicHolidays[0].Date);
            //Epiphany
            Assert.AreEqual(new DateTime(2017, 1, 6), publicHolidays[1].Date);
            //Easter Monday
            Assert.AreEqual(new DateTime(2017, 4, 17), publicHolidays[2].Date);
            //National Holiday
            Assert.AreEqual(new DateTime(2017, 5, 1), publicHolidays[3].Date);
            //Ascension Day
            Assert.AreEqual(new DateTime(2017, 5, 25), publicHolidays[4].Date);
            //Whit Monday
            Assert.AreEqual(new DateTime(2017, 6, 5), publicHolidays[5].Date);
            //Corpus Christi
            Assert.AreEqual(new DateTime(2017, 6, 15), publicHolidays[6].Date);
            //Assumption Day
            Assert.AreEqual(new DateTime(2017, 8, 15), publicHolidays[7].Date);
            //National Holiday
            Assert.AreEqual(new DateTime(2017, 10, 26), publicHolidays[8].Date);
            //All Saints' Day
            Assert.AreEqual(new DateTime(2017, 11, 1), publicHolidays[9].Date);
            //Immaculate Conception
            Assert.AreEqual(new DateTime(2017, 12, 8), publicHolidays[10].Date);
            //Christmas Day
            Assert.AreEqual(new DateTime(2017, 12, 25), publicHolidays[11].Date);
            //St. Stephen's Day
            Assert.AreEqual(new DateTime(2017, 12, 26), publicHolidays[12].Date);
        }
Exemplo n.º 26
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode  = CountryCode.MS;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var firstMondayInMay    = DateSystem.FindDay(year, Month.May, DayOfWeek.Monday, Occurrence.First);
            var secondMondayInJune  = DateSystem.FindDay(year, Month.June, DayOfWeek.Monday, Occurrence.Second);
            var firstMondayInAugust = DateSystem.FindDay(year, Month.August, DayOfWeek.Monday, Occurrence.First);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "New Year's Day", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 3, 17, "Saint Patrick's Day", "Saint Patrick's Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Good Friday", "Good Friday", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), "Easter Monday", "Easter Monday", countryCode));
            items.Add(new PublicHoliday(firstMondayInMay, "Labour Day", "Labour Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(50), "Whit Monday", "Whit Monday", countryCode));
            items.Add(new PublicHoliday(secondMondayInJune, "Queen's Birthday", "Queen's Birthday", countryCode));
            items.Add(new PublicHoliday(firstMondayInAugust, "Emancipation Day", "Emancipation Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Christmas Day", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "Boxing Day", "St. Stephen's Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 31, "Festival Day", "Festival Day", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 27
0
        private IEnumerable <DateTime> GetAllHolidays()
        {
            var result = DateSystem.GetPublicHoliday(CountryCode.ES, DateTime.Now.Year).Select(d => d.Date).ToList();

            result.AddRange(DateSystem.GetPublicHoliday(CountryCode.ES, DateTime.Now.AddYears(1).Year).Select(d => d.Date).ToList());
            return(result);
        }
Exemplo n.º 28
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode  = CountryCode.IE;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var firstMondayInMay    = DateSystem.FindDay(year, 5, DayOfWeek.Monday, 1);
            var firstMondayInJune   = DateSystem.FindDay(year, 6, DayOfWeek.Monday, 1);
            var firstMondayInAugust = DateSystem.FindDay(year, 8, DayOfWeek.Monday, 1);
            var lastMondayInOctober = DateSystem.FindLastDay(year, 10, DayOfWeek.Monday);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Lá Caille", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 3, 17, "Lá Fhéile Pádraig", "Saint Patrick's Day", countryCode, 1903));
            items.Add(new PublicHoliday(easterSunday.AddDays(-2), "Aoine an Chéasta", "Good Friday", countryCode, type: PublicHolidayType.Bank | PublicHolidayType.School));
            items.Add(new PublicHoliday(easterSunday.AddDays(1), "Luan Cásca", "Easter Monday", countryCode));
            items.Add(new PublicHoliday(firstMondayInMay, "Lá Bealtaine", "May Day", countryCode, 1994));
            items.Add(new PublicHoliday(firstMondayInJune, "Lá Saoire i mí an Mheithimh", "June Holiday", countryCode, 1973));
            items.Add(new PublicHoliday(firstMondayInAugust, "Lá Saoire i mí Lúnasa", "August Holiday", countryCode));
            items.Add(new PublicHoliday(lastMondayInOctober, "Lá Saoire i mí Dheireadh Fómhair", "October Holiday", countryCode, 1977));
            items.Add(new PublicHoliday(year, 12, 25, "Lá Nollag", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 26, "Lá Fhéile Stiofáin", "St. Stephen's Day", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 29
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            //TODO: Add countie support, Feria de la Chinita is only in Zulia...

            var countryCode  = CountryCode.VE;
            var easterSunday = this._catholicProvider.EasterSunday(year);

            var secondSundayInMay = DateSystem.FindDay(year, Month.May, DayOfWeek.Sunday, Occurrence.Second);
            var thirdSundayInJune = DateSystem.FindDay(year, Month.June, DayOfWeek.Sunday, Occurrence.Third);
            var thirdSundayInJuly = DateSystem.FindDay(year, Month.July, DayOfWeek.Sunday, Occurrence.Third);

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(year, 1, 1, "Día de Año Nuevo", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(year, 1, 6, "Día de Reyes", "Epiphany", countryCode));
            items.Add(new PublicHoliday(year, 1, 14, "Día de la Divina Pastora", "Feast of the Divina Pastora", countryCode));
            items.Add(new PublicHoliday(year, 1, 15, "Día del Maestro", "Teacher's Day", countryCode));
            items.Add(new PublicHoliday(year, 2, 12, "Día de la Juventud", "Youth Day", countryCode));
            items.Add(new PublicHoliday(year, 2, 20, "Dia de la Federacion", "Federation Day", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-48), "Carnaval", "Carnival", countryCode));
            items.Add(new PublicHoliday(easterSunday.AddDays(-47), "Carnaval", "Carnival", countryCode));
            items.Add(new PublicHoliday(year, 3, 8, "Dia Internacional de la Mujer", "International Women's Day", countryCode));
            //TODO:Semana Santa
            items.Add(new PublicHoliday(year, 3, 19, "Día de San José", "St Joseph's Day", countryCode));
            items.Add(new PublicHoliday(year, 3, 21, "Día del abolición de la esclavitud", "Slavery Abolition Anniversary", countryCode));
            //items.Add(new PublicHoliday(year, 3, 28, "Día Nacional del Patrimonio Cultural", "National Cultural Patrimonies Day", countryCode)); //not a public holiday
            items.Add(new PublicHoliday(year, 3, 31, "Aniversario del fundacion del San Cristóbal", "Foundation anniversary Day of San Cristóbal, Táchira", countryCode));
            items.Add(new PublicHoliday(year, 4, 19, "Diez y nueve de abril", "Beginning of the Independence Movement", countryCode));
            items.Add(new PublicHoliday(year, 5, 1, "Día del Trabajador", "Labor Day", countryCode));
            items.Add(new PublicHoliday(year, 5, 3, "Día del Cruz del Mayo", "Fiesta de las Cruces", countryCode));
            items.Add(new PublicHoliday(secondSundayInMay, "Día de las Madres", "Mother's Day", countryCode));
            //items.Add(new PublicHoliday(year, 5, 25, "Día del Himno Nacional", "National Anthem Day", countryCode));//not a public holiday
            items.Add(new PublicHoliday(thirdSundayInJune, "Día de los Padres", "Father's Day", countryCode));
            items.Add(new PublicHoliday(year, 6, 24, "Día de San Juan Bautista y aniversario de la Batalla de Carabobo", "Army Day", countryCode));
            items.Add(new PublicHoliday(year, 6, 27, "Día del Periodista y aniversario de la instauración del Decreto de Instrucción pública gratuita y obligatoria", "Journalists' Day", countryCode));
            items.Add(new PublicHoliday(year, 7, 5, "Cinco de julio", "Independence Day", countryCode));
            items.Add(new PublicHoliday(thirdSundayInJuly, "Dia del niño", "Children's Day", countryCode));
            items.Add(new PublicHoliday(year, 7, 24, "Natalicio del Libertador, Dia de la Armada Nacional", "Navy Day", countryCode));
            items.Add(new PublicHoliday(year, 7, 25, "Aniversario del fundacion del Caracas", "Caracas City Foundation Day", countryCode));
            items.Add(new PublicHoliday(year, 8, 3, "Día de la Bandera", "Flag Day", countryCode));
            //items.Add(new PublicHoliday(year, 8, 4, "Día de la Guardia Nacional", "National Guard Day", countryCode));//not a public holiday
            items.Add(new PublicHoliday(year, 9, 8, "Día del Virgen del Valle, aparicion del Virgen del Coromoto", "Birth of the Blessed Virgin Mary and feasts of the Virgen del Valle and Our Lady of Coromoto", countryCode));
            items.Add(new PublicHoliday(year, 9, 24, "Día del Virgen de las Mercedes", "Feast of the Our Lady of Mercy", countryCode));
            items.Add(new PublicHoliday(year, 10, 12, "Día de la Resistencia Indígena", "Day of Indigenous Resistance", countryCode));
            items.Add(new PublicHoliday(year, 11, 1, "Día de Todos los Santos", "All Saints' Day", countryCode));
            items.Add(new PublicHoliday(year, 11, 2, "Día de los fieles difuntos", "All Souls' Day", countryCode));
            items.Add(new PublicHoliday(year, 11, 17, "Feria de la Chinita", "Feria of La Chinita", countryCode));
            items.Add(new PublicHoliday(year, 11, 18, "Feria de la Chinita", "Feria of La Chinita", countryCode));
            items.Add(new PublicHoliday(year, 11, 19, "Feria de la Chinita", "Feria of La Chinita", countryCode));
            items.Add(new PublicHoliday(year, 11, 21, "Día del estudiante universitario", "University Students Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 8, "Inmaculada Concepción, Dia de la Lealtad", "Immaculate Conception, Loyalty Day", countryCode));
            //items.Add(new PublicHoliday(year, 12, 10, "Día de la Aviacion Militar", "Venezuelan Air Force Day", countryCode));//not a public holiday
            items.Add(new PublicHoliday(year, 12, 17, "Aniversario de la muerte de Libertador Simon Bolivar", "Simon Bolivar Memorial Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 24, "Nochebuena", "Christmas Eve", countryCode));
            items.Add(new PublicHoliday(year, 12, 25, "Navidad", "Christmas Day", countryCode));
            items.Add(new PublicHoliday(year, 12, 31, "Nochevieja", "New Year's Eve", countryCode));

            return(items.OrderBy(o => o.Date));
        }
Exemplo n.º 30
0
        ///<inheritdoc/>
        public IEnumerable <PublicHoliday> Get(int year)
        {
            var countryCode = CountryCode.JP;

            var secondMondayInJanuary  = DateSystem.FindDay(year, Month.January, DayOfWeek.Monday, Occurrence.Second);
            var thirdMondayInJuly      = DateSystem.FindDay(year, Month.July, DayOfWeek.Monday, Occurrence.Third);
            var thirdMondayInSeptember = DateSystem.FindDay(year, Month.September, DayOfWeek.Monday, Occurrence.Third);
            var secondMondayInOctober  = DateSystem.FindDay(year, Month.October, DayOfWeek.Monday, Occurrence.Second);

            var newYearsDay     = new DateTime(year, 1, 1).Shift(saturday => saturday, sunday => sunday.AddDays(1));
            var foundationDay   = new DateTime(year, 2, 11).Shift(saturday => saturday, sunday => sunday.AddDays(1));
            var showaDay        = new DateTime(year, 4, 29).Shift(saturday => saturday, sunday => sunday.AddDays(1));
            var memorialDay     = new DateTime(year, 5, 3).Shift(saturday => saturday, sunday => sunday.AddDays(1));
            var greeneryDay     = new DateTime(year, 5, 4).Shift(saturday => saturday, sunday => sunday.AddDays(1));
            var childrensDay    = new DateTime(year, 5, 5).Shift(saturday => saturday, sunday => sunday.AddDays(1));
            var mountainDay     = new DateTime(year, 8, 11).Shift(saturday => saturday, sunday => sunday.AddDays(1));
            var cultureDay      = new DateTime(year, 11, 3).Shift(saturday => saturday, sunday => sunday.AddDays(1));
            var thanksgivingDay = new DateTime(year, 11, 23).Shift(saturday => saturday, sunday => sunday.AddDays(1));

            var items = new List <PublicHoliday>();

            items.Add(new PublicHoliday(newYearsDay, "元日", "New Year's Day", countryCode));
            items.Add(new PublicHoliday(secondMondayInJanuary, "成人の日", "Coming of Age Day", countryCode));
            items.Add(new PublicHoliday(foundationDay, "建国記念の日", "Foundation Day", countryCode));
            items.Add(new PublicHoliday(showaDay, "昭和の日", "Shōwa Day", countryCode));
            items.Add(new PublicHoliday(memorialDay, "憲法記念日", "Constitution Memorial Day", countryCode));
            items.Add(new PublicHoliday(greeneryDay, "みどりの日", "Greenery Day", countryCode));
            items.Add(new PublicHoliday(childrensDay, "こどもの日", "Children's Day", countryCode));
            items.Add(new PublicHoliday(thirdMondayInJuly, "海の日", "Marine Day", countryCode));
            items.Add(new PublicHoliday(mountainDay, "山の日", "Mountain Day", countryCode));
            items.Add(new PublicHoliday(thirdMondayInSeptember, "敬老の日", "Respect for the Aged Day", countryCode));
            items.Add(new PublicHoliday(secondMondayInOctober, "体育の日", "Health and Sports Day", countryCode));
            items.Add(new PublicHoliday(cultureDay, "文化の日", "Culture Day", countryCode));
            items.Add(new PublicHoliday(thanksgivingDay, "勤労感謝の日", "Labour Thanksgiving Day", countryCode));

            //Will change to the date of the new emperor on the death of the current one
            var emperorsBirthday = this.GetEmperorsBirthday(year, countryCode);

            if (emperorsBirthday != null)
            {
                items.Add(emperorsBirthday);
            }

            var vernalEquinoxDay = this.GetVernalEquinox(year, countryCode);

            if (vernalEquinoxDay != null)
            {
                items.Add(vernalEquinoxDay);
            }

            var autumnalEquinoxDay = this.GetAutumnalEquinox(year, countryCode);

            if (autumnalEquinoxDay != null)
            {
                items.Add(autumnalEquinoxDay);
            }

            return(items.OrderBy(o => o.Date));
        }