Exemplo n.º 1
0
        public IActionResult ShowAllReservations(ReservationTableViewModel model, int uniquePlaneNumber)
        {
            var reservations = this.reservationService.GetFlightReservations(uniquePlaneNumber);

            ViewBag.Reservations = reservations;
            var flight           = this.flightService.GetExactFlight(uniquePlaneNumber);
            var reservationPages = this.reservationService.ReturnPages(model);

            ViewBag.ReturnedReservations                 = reservationPages.Result.Items;
            ViewBag.ReturnedReservationPagers            = reservationPages.Result.Pager.PagesCount;
            ViewBag.ReturnedReservationPagersCurrentPage = reservationPages.Result.Pager.CurrentPage;
            return(View(flight));
        }
Exemplo n.º 2
0
        public PartialViewResult GetTableOfReservations(int studioId, int dayIndex)
        {
            if (studioId == 0)
            {
                return(null);
            }

            if (dayIndex < 0)
            {
                dayIndex = 0;
            }

            if (dayIndex > 9)
            {
                dayIndex = 9;
            }

            RehearsalStudio studio = _reservationService.Studios.FirstOrDefault(l => l.Id == studioId);

            if (studio == null)
            {
                return(null);
            }

            DateTime currentStartDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0);

            currentStartDate = currentStartDate.AddDays(dayIndex);

            DateTime currentEndDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 23, 59, 59);

            currentEndDate = currentEndDate.AddDays(dayIndex);


            List <Reservation> reservations = _reservationService.Reservations
                                              .Where(l => l.RehearsalRoom.StudioId == studioId &&
                                                     l.IsConflicting(currentStartDate, currentEndDate))
                                              .ToList();

            ReservationTableViewModel reservationTableViewModel = new ReservationTableViewModel {
                OpeningHour            = GetOpeningHour(studio, dayIndex),
                ClosingHour            = GetClosingHour(studio, dayIndex),
                NumberOfAvailableRooms = studio.Rooms.Where(l => l.Available).Count(),
                Rooms        = studio.Rooms.ToList(),
                Reservations = reservations,
                Studio       = studio,
                Index        = dayIndex
            };

            return(PartialView("_ReservationsTable", reservationTableViewModel));
        }
Exemplo n.º 3
0
        /// <summary>
        /// Взима лист от резервация и броя на страниците
        /// </summary>
        /// <param name="model"></param>
        /// <returns> Лист от ReservationViewModel </returns>
        public async Task <ReservationTableViewModel> ReturnPages(ReservationTableViewModel model)
        {
            model.Pager ??= new PagerViewModel();
            model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage;

            List <ReservationViewModel> items = dbContext.Reservations.Skip((model.Pager.CurrentPage - 1) * PageSize).Take(PageSize).Select(c => new ReservationViewModel()
            {
                FirstName       = c.FirstName,
                SecondName      = c.SecondName,
                FamilyName      = c.FamilyName,
                Email           = c.Email,
                PIN             = c.PIN,
                Nationality     = c.Nationality,
                TelephoneNumber = c.TelephoneNumber,
                TicketType      = c.TicketType.Name,
                FlightId        = c.FlightId
            }).ToList();

            model.Items            = items;
            model.Pager.PagesCount = (int)Math.Ceiling(dbContext.Reservations.Count() / (double)PageSize);

            return(model);
        }
Exemplo n.º 4
0
        public IViewComponentResult InvokeAsync(int studioId, bool isNext)
        {
            //if (DayIndex < 0)
            //    return NotFound();

            DayIndex = isNext ? DayIndex + 1 : DayIndex - 1;

            ReservationTableViewModel viewModel = new ReservationTableViewModel();

            RehearsalStudio studio = _reservationService.GetStudio(studioId);

            viewModel.Studio = studio;
            viewModel.NumberOfAvailableRooms = studio.Rooms.Count;
            viewModel.Index       = DayIndex;
            viewModel.OpeningHour = GetOpeningHour(studio, DayIndex);
            viewModel.ClosingHour = GetClosingHour(studio, DayIndex);

            viewModel.Reservations = _reservationService.GetReservationsByStudioId(studioId).ToList();
            viewModel.Rooms        = _reservationService.Rooms.Where(l => l.StudioId == studioId).ToList();


            return(View(viewModel));
        }