public int BusinessDaysBetweenTwoDates(DateTime firstDate, DateTime secondDate, IList <DateTime> publicHolidays) { if (isStartDateAfterEndDate(firstDate, secondDate)) { return(0); } int businessDaysBetweenTwoDates = 0; for (var day = firstDate.Date.AddDays(1); day < secondDate; day = day.AddDays(1)) { if (WeekdayChecker.isWeekDay(day) && isNotHoliday(day, publicHolidays)) { businessDaysBetweenTwoDates++; } } return(businessDaysBetweenTwoDates); }
public DateTime getPublicHoliday(int year) { DateTime holiday = new DateTime(year, this._month, this._day); return(WeekdayChecker.isWeekDay(holiday) ? holiday : (this._shouldMoveIfFallOnWeekend ? getNextMonday(holiday) : holiday)); }
public void isWeekDay_InputDate_ReturnIsMondayToFriday(DateTime date, bool expected) { var actual = WeekdayChecker.isWeekDay(date); Assert.Equal(expected, actual); }