private void CalculateHolidays() { Results = NewZealandPublicHolidays.CalculateHolidays(new DateTime(Year, 1, 1), new DateTime(Year, 12, 31)); Console.WriteLine("Calculated Holidays:"); foreach (Tuple <string, DateTime> holiday in NewZealandPublicHolidays.CalculateHolidaysVerbose(new DateTime(Year, 1, 1), new DateTime(Year, 12, 31))) { Console.WriteLine("{0} {1}", holiday.Item1.PadRight(20), holiday.Item2.ToString("d-MMM-yy dddd")); } }
private PaymentDate CalculateNextPaymentDate(PaymentDate paymentDate) { var proposedDate = new PaymentDate(paymentDate.ScheduledDate.AddDays(7 * this.multiplier)); if (this.filter.BeginDate != null) { List <DateTime> holidays = NewZealandPublicHolidays.CalculateHolidays(this.filter.BeginDate.Value, this.filter.BeginDate.Value.AddYears(1)).ToList(); while (holidays.Contains(proposedDate.Date)) { proposedDate.Date = proposedDate.Date.AddDays(1); proposedDate.Date = proposedDate.Date.FindNextWeekday(); } } if (proposedDate.Date != proposedDate.ScheduledDate) { this.diagLogger.LogInfo( l => l.Format(" {0} is a holiday, moved to {1}", proposedDate.ScheduledDate, proposedDate.Date)); } return(proposedDate); }