Exemplo n.º 1
0
        /// <summary>
        /// Get quiq data for free placec in month
        /// </summary>
        /// <param name="year">year</param>
        /// <param name="month">Month</param>
        /// <returns>Free placec</returns>
        public int[] GetMonthFreeHelmetsDefault(int year, int month)
        {
            int daysInMoth = DateLogicHelper.GetDaysInMonth(year, month);

            int[] result = new int[daysInMoth];
            for (int i = 0; i < daysInMoth; i++)
            {
                DateTime dt = new DateTime(year, month, i + 1);
                result[i] = WorkingPlanCaсhe.GetWorkingHours(dt.DayOfWeek) * activeHelmets;
            }

            return(result);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Get accurate data
        /// </summary>
        /// <param name="year">Year</param>
        /// <param name="month">Month</param>
        /// <param name="day">Day</param>
        /// <returns>Free placec</returns>
        public int GetFreeHelmetCount(int year, int month, int day)
        {
            DateTime dt          = new DateTime(year, month, day);
            int      freeHelmets = WorkingPlanCaсhe.GetWorkingHours(dt.DayOfWeek) * activeHelmets;

            using (var db = new DoorDbContext())
            {
                var dayReservation = db.Reservations.Include(r => r.HourReservations.Select(hr => hr.HelmetWorkStations)).FirstOrDefault(r => r.DateReservation.HasValue && r.DateReservation.Value == dt);///.Year == year && r.DateReservation.Value.Month == month && r.DateReservation.Value.Day == day);
                if (dayReservation != null)
                {
                    var busyHelmetsHours = dayReservation.HourReservations.SelectMany(hr => hr.HelmetWorkStations).Count();
                    freeHelmets = freeHelmets - busyHelmetsHours;
                }
            }
            return(freeHelmets);
        }