Exemplo n.º 1
0
 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"));
     }
 }
Exemplo n.º 2
0
        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);
        }