public IActionResult Filter(AllReservationsViewModel model) { ReservationsFilteringAndPaging.ClearFilter(); ReservationsFilteringAndPaging.FilterType = model.FilterType; ReservationsFilteringAndPaging.Filter = model.Filter; return(View("AllReservations", GetAllReservations())); }
public AllReservationsViewModel GetAllReservations(bool hasBeenRedirected = false) { if (hasBeenRedirected) { ReservationsFilteringAndPaging.Clear(); } var allReservations = this.context.Reservations.ToList(); List <ReservationViewModel> reservations = new List <ReservationViewModel>(); if (ReservationsFilteringAndPaging.FilterType != ReservationFilterType.None) { string filter = ReservationsFilteringAndPaging.Filter; switch (ReservationsFilteringAndPaging.FilterType) { case ReservationFilterType.Email: allReservations = allReservations.Where(reservation => reservation.Email.Contains(ReservationsFilteringAndPaging.Filter)).ToList(); break; } } var pageReservations = allReservations .Skip((ReservationsFilteringAndPaging.Pager.CurrentPage - 1) * ReservationsFilteringAndPaging.Pager.PageSize) .Take(ReservationsFilteringAndPaging.Pager.PageSize).ToList(); ReservationViewModel curReserv = new ReservationViewModel(); foreach (var reservation in pageReservations) { curReserv.ReservationId = reservation.Id; curReserv.ReservedFlight = reservation.Flight; curReserv.ReservationEmail = reservation.Email; curReserv.AllPassengers = reservation.Passengers; curReserv.Confirmed = reservation.IsConfirmed; reservations.Add(curReserv); curReserv = new ReservationViewModel(); } AllReservationsViewModel model = new AllReservationsViewModel(); model.AllReservations = reservations; ReservationsFilteringAndPaging.Pager.PagesCount = (int)Math.Ceiling(allReservations.Count() / (double)ReservationsFilteringAndPaging.Pager.PageSize); return(model); }
public IActionResult ClearFilter() { ReservationsFilteringAndPaging.ClearFilter(); return(View("AllReservations", GetAllReservations())); }