public async Task <IActionResult> Detail(int id, int page = 1) { int take = 15; int skip = take * (page - 1); try { var drawing = await _drawingService.GetDetailsAsync(id, skip, take); PaginateViewModel paginateModel = new PaginateViewModel() { ItemCount = drawing.Count, CurrentPage = page, ItemsPerPage = take }; if (paginateModel.PastMaxPage) { return(RedirectToRoute( new { id = id, page = paginateModel.LastPage ?? 1 })); } DrawingDetailViewModel viewModel = new DrawingDetailViewModel() { Drawing = drawing.Data, CreatedByName = await _userService.GetUsersNameByIdAsync(drawing.Data.CreatedBy), CanViewParticipants = UserHasPermission(Permission.ViewParticipantDetails), PaginateModel = paginateModel }; return(View(viewModel)); } catch (GraException gex) { ShowAlertWarning("Unable to view drawing: ", gex); return(RedirectToAction("Index")); } }
public async Task <IActionResult> Detail(int id, int page = 1) { int take = 15; int skip = take * (page - 1); try { var drawing = await _drawingService.GetDetailsAsync(id, skip, take); PaginateViewModel paginateModel = new PaginateViewModel() { ItemCount = drawing.Count, CurrentPage = page, ItemsPerPage = take }; if (paginateModel.MaxPage > 0 && paginateModel.CurrentPage > paginateModel.MaxPage) { return(RedirectToRoute( new { id = id, page = paginateModel.LastPage ?? 1 })); } DrawingDetailViewModel viewModel = new DrawingDetailViewModel() { Drawing = drawing.Data, PaginateModel = paginateModel }; return(View(viewModel)); } catch (GraException gex) { ShowAlertWarning("Unable to view drawing: ", gex); return(RedirectToAction("Index")); } }