예제 #1
0
        private void BuildMoveableObservanceMap(int year, Holiday holiday, Dictionary <DateTime, Holiday> map)
        {
            var holidayInstance = holiday.GetInstance(year);

            if (!holidayInstance.HasValue)
            {
                return;
            }
            switch (holidayInstance.Value.DayOfWeek)
            {
            case DayOfWeek.Monday:
                map.Add(holidayInstance.Value, DayOfRespectForCulturalDiversity);
                break;

            //if holiday falls on tuesday or wednesday, the holiday is observed on the last monday
            case DayOfWeek.Tuesday:
            case DayOfWeek.Wednesday:
                map.Add(holidayInstance.Value.LastDayOfWeek(DayOfWeek.Monday), holiday);
                break;

            //if holiday falls on thu, fri, sat, sun, the holiday is observed on the next monday
            default:
                map.Add(holidayInstance.Value.NextDayOfWeek(DayOfWeek.Monday), holiday);
                break;
            }
        }
        private void TestHoliday(Holiday holiday, DateTime dateOnGregorian)
        {
            var holidayInstance = holiday.GetInstance(dateOnGregorian.Year);

            Assert.IsTrue(holidayInstance.HasValue);
            Assert.AreEqual(dateOnGregorian, holidayInstance.Value);
            Assert.IsTrue(holiday.IsInstanceOf(dateOnGregorian));
        }
예제 #3
0
        private void BuildNormalObservanceMap(int year, Holiday holiday, Dictionary <DateTime, Holiday> map)
        {
            var holidayInstance = holiday.GetInstance(year);

            if (!holidayInstance.HasValue)
            {
                return;
            }
            map.Add(holidayInstance.Value, DayOfRespectForCulturalDiversity);
        }
예제 #4
0
        private void BuildTuristicObservanceMap(int year, Holiday holiday, Dictionary <DateTime, Holiday> map)
        {
            var holidayInstance = holiday.GetInstance(year);

            if (!holidayInstance.HasValue)
            {
                return;
            }
            map.Add(holidayInstance.Value, DayOfRespectForCulturalDiversity);
            //if holiday falls on tuesday, the holiday is also observed on the last monday
            if (holidayInstance.Value.DayOfWeek == DayOfWeek.Tuesday)
            {
                map.Add(holidayInstance.Value.LastDayOfWeek(DayOfWeek.Monday), holiday);
            }
            //if holiday falls on thursday, the holiday is also observed on the next friday
            if (holidayInstance.Value.DayOfWeek == DayOfWeek.Thursday)
            {
                map.Add(holidayInstance.Value.NextDayOfWeek(DayOfWeek.Friday), holiday);
            }
        }
예제 #5
0
 public override DateTime?GetInstance(int year)
 {
     return(EnsureNonWeekend(_holiday.GetInstance(year)));
 }
 private void BuildTuristicObservanceMap(int year, Holiday holiday, Dictionary<DateTime, Holiday> map)
 {
     var holidayInstance = holiday.GetInstance(year);
     if (!holidayInstance.HasValue) {
         return;
     }
     map.Add(holidayInstance.Value, DayOfRespectForCulturalDiversity);
     //if holiday falls on tuesday, the holiday is also observed on the last monday
     if (holidayInstance.Value.DayOfWeek == DayOfWeek.Tuesday) {
         map.Add(holidayInstance.Value.LastDayOfWeek(DayOfWeek.Monday), holiday);
     }
     //if holiday falls on thursday, the holiday is also observed on the next friday
     if (holidayInstance.Value.DayOfWeek == DayOfWeek.Thursday) {
         map.Add(holidayInstance.Value.NextDayOfWeek(DayOfWeek.Friday), holiday);
     }
 }
 private void BuildNormalObservanceMap(int year, Holiday holiday, Dictionary<DateTime, Holiday> map)
 {
     var holidayInstance = holiday.GetInstance(year);
     if (!holidayInstance.HasValue) {
         return;
     }
     map.Add(holidayInstance.Value, DayOfRespectForCulturalDiversity);
 }
 private void BuildMoveableObservanceMap(int year, Holiday holiday, Dictionary<DateTime, Holiday> map )
 {
     var holidayInstance = holiday.GetInstance(year);
     if (!holidayInstance.HasValue) {
         return;
     }
     switch (holidayInstance.Value.DayOfWeek) {
         case DayOfWeek.Monday:
             map.Add(holidayInstance.Value, DayOfRespectForCulturalDiversity);
             break;
         //if holiday falls on tuesday or wednesday, the holiday is observed on the last monday
         case DayOfWeek.Tuesday:
         case DayOfWeek.Wednesday:
             map.Add(holidayInstance.Value.LastDayOfWeek(DayOfWeek.Monday), holiday);
             break;
         //if holiday falls on thu, fri, sat, sun, the holiday is observed on the next monday
         default:
             map.Add(holidayInstance.Value.NextDayOfWeek(DayOfWeek.Monday), holiday);
             break;
     }
 }