Beispiel #1
0
        private void CreateHolidays()
        {
            GenericHolidaysDataSource source = new GenericHolidaysDataSource();

            source.Add(new Holiday(1, 1, true, "New Year"));
            source.Add(new Holiday(26, 1, true, "Australia day"));
            source.Add(new Holiday(30, 3, true, "Good Friday"));
            source.Add(new Holiday(31, 3, true, "Easter"));
            source.Add(new Holiday(25, 4, false, "Anzac Day"));
            source.Add(new Holiday(DayOfWeek.Monday, 1, 6, true, "Queen's Birthday"));
            source.Add(new Holiday(6, 8, true, "Bank Holiday"));
            source.Add(new Holiday(DayOfWeek.Monday, 0, 10, true, "Labor Day"));
            source.Add(new Holiday(25, 12, true, "Christmas"));
            source.Add(new Holiday(26, 12, true, "Boxing Day"));

            this.source = source;
        }
Beispiel #2
0
        public void Initialize()
        {
            interactor = new DynamicWorkDaysInteractor();

            GenericHolidaysDataSource source = new GenericHolidaysDataSource();

            source.Add(new Holiday(1, 1, true, "New Year"));
            source.Add(new Holiday(26, 1, true, "Australia day"));
            source.Add(new Holiday(30, 3, true, "Good Friday"));
            source.Add(new Holiday(31, 3, true, "Easter"));
            source.Add(new Holiday(25, 4, false, "Anzac Day"));
            source.Add(new Holiday(DayOfWeek.Monday, 1, 6, false, "Queen's Birthday"));
            source.Add(new Holiday(6, 8, true, "Bank Holiday"));
            source.Add(new Holiday(DayOfWeek.Monday, 0, 10, true, "Labor Day"));
            source.Add(new Holiday(25, 12, true, "Christmas"));
            source.Add(new Holiday(26, 12, true, "Boxing Day"));

            this.source = source;
        }
        public int GetBizDays(DateTime startDate, DateTime endDate, IHolidaysDataSource holidaysSource)
        {
            List <DateTime> holidayDays = new List <DateTime>();

            holidayDays.AddRange(holidaysSource.GetHolidays(startDate.Year));

            if (startDate.Year != endDate.Year)
            {
                holidayDays.AddRange(holidaysSource.GetHolidays(endDate.Year));
            }

            var totalBizDays = GetBizDays(startDate, endDate);
            var holidays     = holidayDays.ToArray();

            foreach (DateTime holiday in holidays)
            {
                if (holiday.InRange(startDate, endDate) && holiday.IsWeekday())
                {
                    totalBizDays--;
                }
            }

            return(totalBizDays);
        }