示例#1
0
        public async Task <long> CalcBusinessDaysAsync(DateTime startDate, DateTime endDate)
        {
            var holidays = await _holidayRepository.ListAsync();

            // var workingDays = DayUtility.CalcWorkingDaysBetween(startDate, endDate);
            var workingDays = DayUtility.CalcWorkingDaysBetweenLinear(startDate, endDate);

            for (var year = startDate.Year; year <= endDate.Year; year++)
            {
                workingDays = holidays.Aggregate(workingDays, (current, holiday) => current - DayUtility.HolidayOverlapsWorkingDay(holiday, startDate, endDate, year));
            }

            return(workingDays);
        }
示例#2
0
        public void CalcWorkingDaysBetweenLinearTests(DateTime startDate, DateTime endDate, long workingDays)
        {
            var result = DayUtility.CalcWorkingDaysBetweenLinear(startDate, endDate);

            Assert.AreEqual(workingDays, result);
        }