BudgetAnalyser.Engine.NewZealandPublicHolidays.CalculateHolidaysVerbose C# (CSharp) Метод

CalculateHolidaysVerbose() публичный статический Метод

Calculate and list New Zealand holidays between two dates. The return collection contains labeled holidays and their dates.
public static CalculateHolidaysVerbose ( System.DateTime start, System.DateTime end ) : DateTime>>.IEnumerable
start System.DateTime
end System.DateTime
Результат DateTime>>.IEnumerable
        public static IEnumerable<Tuple<string, DateTime>> CalculateHolidaysVerbose(DateTime start, DateTime end)
        {
            var holidays = new Dictionary<DateTime, string>();
            foreach (var holidayTemplate in HolidayTemplates)
            {
                var proposedDate = holidayTemplate.CalculateDate(start, end);

                if (holidays.ContainsKey(proposedDate))
                {
                    holidays.Add(proposedDate.AddDays(1), holidayTemplate.Name);
                }
                else
                {
                    holidays.Add(proposedDate, holidayTemplate.Name);
                }
            }

            return holidays.Select(h => new Tuple<string, DateTime>(h.Value, h.Key)).OrderBy(d => d.Item2);
        }