public async Task <IActionResult> All() { var events = await this.db .Events.Where(x => x.TotalTickets > 0) .ToListAsync(); var allEvents = this.mapper .Map <List <Event>, IEnumerable <CreateEventViewModel> >(events); var viewModel = new CreateEventOrderViewModel() { CreateEventViewModels = allEvents, CreateOrderViewModel = new CreateOrderViewModel() }; return(View(viewModel)); }
public async Task <IActionResult> All(int?currentPage = 1) { var events = await this._dbContext.Events .Where(x => x.TotalTickets > 0) .ToListAsync(); var allEvents = this._mapper.Map <List <Event>, IEnumerable <CreateEventViewModel> >(events); var count = events.Count(); var size = 10; var totalPages = (int)Math.Ceiling(decimal.Divide(count, size)); if (currentPage <= 1) { currentPage = 1; } if (currentPage >= totalPages) { currentPage = totalPages; } var skip = (int)(currentPage - 1) * size; var take = size; allEvents = allEvents.Skip(skip).Take(take).ToList(); var viewModel = new CreateEventOrderViewModel() { CreateEventViewModels = allEvents, CreateOrderViewModel = new CreateOrderViewModel(), CurrentPage = (int)currentPage, FirstPage = 1, LastPage = totalPages }; return(View(viewModel)); }