/// <summary>Joins two holiday calendar. /// </summary> /// <param name="calendarName">The name of the holiday calendar.</param> /// <param name="holidayCalendarJoinRule">The holiday calendar join rule.</param> /// <param name="firstHolidayCalendar">The first holiday calendar.</param> /// <param name="secondHolidayCalendar">The second holiday calendar.</param> /// <returns>A <see cref="IHolidayCalendar"/> object that represents a holiday calendar with respect to <paramref name="firstHolidayCalendar"/> /// <paramref name="secondHolidayCalendar"/> and a specific <paramref name="holidayCalendarJoinRule"/>.</returns> public static IHolidayCalendar Join(IdentifierString calendarName, HolidayCalendarJointRule holidayCalendarJoinRule, IHolidayCalendar firstHolidayCalendar, IHolidayCalendar secondHolidayCalendar) { switch (holidayCalendarJoinRule) { case HolidayCalendarJointRule.JoinHolidays: return(new UnionHolidaysJointHolidayCalendar(calendarName, firstHolidayCalendar, secondHolidayCalendar)); case HolidayCalendarJointRule.JoinBusinessDays: return(new UnionBusinessDaysJoinHolidayCalendar(calendarName, firstHolidayCalendar, secondHolidayCalendar)); default: throw new NotImplementedException(); } }
/// <summary>Joins a list of holiday calendar. /// </summary> /// <param name="calendarName">The name of the holiday calendar.</param> /// <param name="holidayCalendarJoinRule">The holiday calendar join rule.</param> /// <param name="holidayCalendarList">The holiday calendar list.</param> /// <returns>A <see cref="IHolidayCalendar"/> object that represents a holiday calendar with respect to <paramref name="holidayCalendarList"/> /// and a specific <paramref name="holidayCalendarJoinRule"/>.</returns> public static IHolidayCalendar Join(IdentifierString calendarName, HolidayCalendarJointRule holidayCalendarJoinRule, IEnumerable <IHolidayCalendar> holidayCalendarList) { switch (holidayCalendarJoinRule) { case HolidayCalendarJointRule.JoinHolidays: return(new UnionHolidaysJointHolidayCalendar(calendarName, holidayCalendarList)); case HolidayCalendarJointRule.JoinBusinessDays: return(new UnionBusinessDaysJoinHolidayCalendar(calendarName, holidayCalendarList)); default: throw new NotImplementedException(); } }