示例#1
0
        private List <CalendarWeek> CalculateReservations(int year, int month)
        {
            DateLogicHelper     dateLogicHelper   = new DateLogicHelper();
            List <CalendarWeek> monthReservedInfo = dateLogicHelper.GetWeeksOfMonth(year, month);

            using (var db = new DoorDbContext())
            {
                var reservedDaysOfMonth = db.Reservations.Include(r => r.HourReservations).Where(r => r.DateReservation.HasValue && r.DateReservation.Value.Month == month).OrderBy(r => r.DateReservation.Value.Day).ToList();
                foreach (var week in monthReservedInfo)
                {
                    foreach (var day in week.DaysOfWeek)
                    {
                        if (day != null)
                        {
                            var reservationsInDay = reservedDaysOfMonth.FirstOrDefault(r => r.DateReservation.HasValue && r.DateReservation.Value.Day == day.DayOfMonth);
                            int freeWorkStations  = this.defaultCountOfFreeWorkStations;
                            if (reservationsInDay != null)
                            {
                                int countOfReservedWorkStations = 45;
                                freeWorkStations = freeWorkStations - countOfReservedWorkStations;
                            }
                            day.AvailableWorkStations = freeWorkStations;
                        }
                    }
                }
            }
            return(monthReservedInfo);
        }