Exemple #1
0
        public List <WorkDay> GetWorkdays(int employeeId, DateTime startDate, DateTime endDate)
        {
            List <WorkDay> workDays = new List <WorkDay>();

            var accessEvents = GetAccessEvents(employeeId, startDate, endDate);
            var totalDays    = (endDate - startDate).Days + 1;
            var startDay     = new DateTime(startDate.Year, startDate.Month, startDate.Day, 0, 0, 0);

            for (var i = 0; i < totalDays; i++)
            {
                var day             = startDate.AddDays(i);
                var dayAccessEvents = accessEvents.Where(x =>
                                                         (
                                                             x.EventTime.Year == day.Year &&
                                                             x.EventTime.Month == day.Month &&
                                                             x.EventTime.Day == day.Day
                                                         )).ToList();

                var workDay = WorkDay.GetWorkDay(employeeId, day, dayAccessEvents);
                workDays.Add(workDay);
            }

            return(workDays);
        }