/// <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); }
/// <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); }