public async Task<IActionResult> Index(int id = 1, int pageSize = 10) { var user = await userManager.GetUserAsync(User); var reservations = await reservationService.GetReservationsForUser<ReservationViewModel>(user.Id); if (pageSize <= 0) { pageSize = 10; } int pageCount = (int)Math.Ceiling((double)reservations.Count() / pageSize); if (id > pageCount || id < 1) { id = 1; } var viewModel = new ReservationsIndexViewModel { CurrentPage = id, PagesCount = pageCount, Reservations = reservations.GetPageItems(id, pageSize), Controller = "Reservations", Action = nameof(Index), }; return this.View(viewModel); }
public IActionResult Index(string filter, int?page, int pageSize = 10) { int pageNumber = (page ?? 1); ReservationsIndexViewModel model = new ReservationsIndexViewModel() { Reservations = reservationService.GetAllReservations().Select(r => new ReservationIndexViewModel() { Name = r.FirstName + " " + r.LastName, Email = r.Email, DepartureCity = flightService.GetFlightById(r.FlightID).DepartureCity, DepartureTime = flightService.GetFlightById(r.FlightID).DepartureTime, DestinationCity = flightService.GetFlightById(r.FlightID).DestinationCity, PhoneNumber = r.PhoneNumber, TicketType = r.TicketType, TicketsCount = r.TicketsCount }).ToList(), Filter = filter, PageNumber = pageNumber, PagesCount = (int)Math.Ceiling(reservationService.GetAllReservations().Count / (double)pageSize), PageSize = pageSize }; if (filter == "email") { model.Reservations = model.Reservations.OrderBy(r => r.Email).ToList(); } else if (filter == "emailReversed") { model.Reservations = model.Reservations.OrderByDescending(r => r.Email).ToList(); } model.Reservations = model.Reservations.Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList(); return(View(model)); }
// GET: Reservations public IActionResult Index(ReservationsIndexViewModel model) { if (GlobalVar.LoggedOnUserId == -1) { return(RedirectToAction("LogInRequired", "Users")); } model.Pager ??= new PagerViewModel(); model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage; List <Reservation> reservations = _context.Reservations.Skip((model.Pager.CurrentPage - 1) * PageSize).Take(PageSize).ToList(); List <ReservationsViewModel> list = new List <ReservationsViewModel>(); foreach (var reservation in reservations) { int userId = reservation.UserId; int roomId = reservation.RoomId; UsersViewModel userVM = new UsersViewModel() { Id = reservation.User.Id, FirstName = reservation.User.FirstName, LastName = reservation.User.LastName, }; RoomsViewModel roomVM = new RoomsViewModel() { Id = reservation.Room.Id, Capacity = reservation.Room.Capacity, PriceAdult = reservation.Room.PriceAdult, PriceChild = reservation.Room.PriceChild, Number = reservation.Room.Number, Type = (RoomTypeEnum)reservation.Room.Type }; int clientsCount = _context.ClientReservation.Where(x => x.ReservationId == reservation.Id).Count(); list.Add(new ReservationsViewModel() { Id = reservation.Id, User = userVM, Room = roomVM, CurrentReservationClientCount = clientsCount, DateOfAccommodation = reservation.DateOfAccommodation, DateOfExemption = reservation.DateOfExemption, IsAllInclusive = reservation.IsAllInclusive, IsBreakfastIncluded = reservation.IsBreakfastIncluded, OverallBill = reservation.OverallBill, }); } model.Items = list; model.Pager.PagesCount = Math.Max(1, (int)Math.Ceiling(_context.Reservations.Count() / (double)PageSize)); return(View(model)); }
// GET: ReservationsController public async Task <IActionResult> Index(ReservationsIndexViewModel model) { model.Pager ??= new PagerViewModel(); model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage; List <ReservationsViewModel> items = await context.Reservations.Skip((model.Pager.CurrentPage - 1) *PageSize).Take(PageSize).Select(c => new ReservationsViewModel() { Id = c.Id, Room = c.Room, Clients = c.Clients.Where(e => e.ReservationId == c.Id).Select(e => e.Client).ToList(), Start = c.Start, End = c.End, Breakfast = c.Breakfast, AllInclusive = c.AllInclusive, Account = c.Account, Cost = c.Cost }).ToListAsync(); model.Reservations = items; model.Pager.PagesCount = (int)Math.Ceiling(await context.Reservations.CountAsync() / (double)PageSize); return(View(model)); }
//GET : Reservation public async Task <IActionResult> Index(ReservationsIndexViewModel model) { model.Pager ??= new PagerViewModel(); model.Pager.CurrentPage = model.Pager.CurrentPage <= 0 ? 1 : model.Pager.CurrentPage; List <ReservationsViewModel> items = await _context.Reservations.Skip((model.Pager.CurrentPage - 1) *PageSize).Take(PageSize).Select(c => new ReservationsViewModel() { FirstName = c.FirstName, SecondName = c.SecondName, LastName = c.LastName, EGN = c.EGN, PhoneNumber = c.PhoneNumber, Nationality = c.Nationality, TypeOfTicket = c.TypeOfTicket, Email = c.Email }).ToListAsync(); model.Items = items; model.Pager.PagesCount = (int)Math.Ceiling(await _context.Reservations.CountAsync() / (double)PageSize); return(View(model)); }
// GET: Reservations public async Task <IActionResult> Index(ReservationsIndexViewModel model) { if (GetCookie("LoggedIn") != "true") { return(Redirect("/")); } else { model.Pager ??= new PagerViewModel(); StringValues value = StringValues.Empty; Request.Query.TryGetValue("page", out value); model.Pager.CurrentPage = StringValues.IsNullOrEmpty(value) ? 1 : int.Parse(value); value = StringValues.Empty; Request.Query.TryGetValue("pagesize", out value); model.Pager.PageSize = StringValues.IsNullOrEmpty(value) ? 10 : int.Parse(value); model.Pager.PagesCount = (int)Math.Ceiling((double)_context.Reservations.ToArray().Length / (double)model.Pager.PageSize); value = StringValues.Empty; Request.Query.TryGetValue("clientid", out value); List <ReservationsViewModel> items = new List <ReservationsViewModel>(); foreach (Reservation r in _context.Reservations.ToArray().Skip((model.Pager.CurrentPage - 1) * model.Pager.PageSize).Take(model.Pager.PageSize)) { ReservationsViewModel item = new ReservationsViewModel(); item.Id = r.Id; item.RoomNumber = r.RoomNumber; User user = _context.Users.ToArray().Where(u => u.Id == r.UserId).FirstOrDefault(); item.UserName = user != null ? user.FirstName + " " + user.LastName : "Unknown"; List <string> clientsNames = new List <string>(); int[] clientIds = r.ClientsIds.Split(",", StringSplitOptions.RemoveEmptyEntries).Select(c => int.Parse(c)).ToArray(); if (!StringValues.IsNullOrEmpty(value)) { if (!clientIds.Contains(int.Parse(value))) { continue; } } foreach (int i in clientIds) { Client client = _context.Clients.ToArray().Where(c => c.Id == i).FirstOrDefault(); if (client != null) { clientsNames.Add(client.FirstName + " " + client.LastName); } } item.ClientsNames = clientsNames.ToArray(); item.DateAccomodation = r.DateAccomodation.ToShortDateString(); item.DateRelease = r.DateRelease.ToShortDateString(); item.BreakfastIncluded = r.BreakfastIncluded; item.AllInclusive = r.AllInclusive; item.PaymentAmount = r.PaymentAmount; items.Add(item); } model.Items = items; return(View(model)); } }