public DefaultScheduleConfigurationFactory() { _cultureInfo = new CultureInfo("ru-RU"); var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly()); _container = new CompositionContainer(catalog); var weekendPolicy = new WeekendPolicy(); weekendPolicy.AddWeekend(DayOfWeek.Saturday); weekendPolicy.AddWeekend(DayOfWeek.Sunday); var holidayPolicy = new HolidayPolicy(); var nonWorkingDayPolicy = new NonWorkingDayPolicy(weekendPolicy, holidayPolicy); _container.ComposeExportedValue <INonWorkingDayPolicy>(nonWorkingDayPolicy); }
public OctopusScheduleConfigurationFactory(NonWorkingDateSingleton nonWorkingDate) { var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly()); _container = new CompositionContainer(catalog); var weekendPolicy = new WeekendPolicy(); weekendPolicy.AddWeekend((DayOfWeek)nonWorkingDate.WeekEndDay1); weekendPolicy.AddWeekend((DayOfWeek)nonWorkingDate.WeekEndDay2); var holidayPolicy = new HolidayPolicy(); foreach (var pair in nonWorkingDate.PublicHolidays) { holidayPolicy.AddHoliday(pair.Key); } var nonWorkingDayPolicy = new NonWorkingDayPolicy(weekendPolicy, holidayPolicy); _container.ComposeExportedValue <INonWorkingDayPolicy>(nonWorkingDayPolicy); }
public void IsNonWorkingDay_GivenHolidayPolicyIsNull_ThrowsException() { var policy = new NonWorkingDayPolicy(_weekendPolicy, null); policy.IsNonWorkingDay(DateTime.Today); }