Example #1
0
 private DateTime GetHolidayDate(int year, HolidayDefinition holidayDefinition)
 {
     return(Enum.Parse <HolidayPlacementStrategy>(holidayDefinition.PlacementStrategy) switch
     {
         HolidayPlacementStrategy.FixedDate => DateUtils.CalculateFixedDatePlacement(year,
                                                                                     holidayDefinition.Month, holidayDefinition.Day),
         HolidayPlacementStrategy.FixedDay => DateUtils.CalculateFixedDayPlacement(year, holidayDefinition.Month,
                                                                                   holidayDefinition.DayOfWeek, holidayDefinition.WeekOfMonth),
         HolidayPlacementStrategy.FixedDateNonWeekend => DateUtils.CalculateFixedDateNonWeekendPlacement(year,
                                                                                                         holidayDefinition.Month, holidayDefinition.Day),
         _ => throw new InvalidOperationException($"'{holidayDefinition.PlacementStrategy}' is not handled")
     });