Example #1
0
        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"));
            }
        }
Example #2
0
        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"));
            }
        }