Esempio n. 1
0
        //fazer melhorias na paginação!!!

        public IActionResult NextPage(int id, int currentPage)
        {
            var        pag                   = _context.Pagination.FirstOrDefault(p => p.CurrentPage != 0);
            Pagination pagination            = new Pagination();
            PublicationProductViewModel page = new PublicationProductViewModel();
            var NumberOfPage                 = pag.CurrentPage;

            if (NumberOfPage == 0)
            {
                NumberOfPage = 1;
            }
            NumberOfPage++;
            if (NumberOfPage <= pag.CurrentPage)
            {
                NumberOfPage = pag.CurrentPage;
            }
            pagination.CurrentPage = NumberOfPage;
            //ViewData["Page"] = "active";
            _context.Pagination.Update(pagination);
            _context.SaveChanges();
            page = BuildPage(id, NumberOfPage);
            var TotalPages = page.TotalPages;

            if (NumberOfPage > TotalPages)
            {
                NumberOfPage = TotalPages;
            }
            return(RedirectToAction(nameof(ShowPublication), new { id = id, NumberOfPage = NumberOfPage, TotalPages = TotalPages }));
        }
Esempio n. 2
0
        public IActionResult ShowPublication(int id, int NumberOfPage, int TotalPages)
        {
            Pagination pagination            = new Pagination();
            PublicationProductViewModel page = new PublicationProductViewModel();

            if (NumberOfPage == 0 && TotalPages == 0)
            {
                page = ChangePage(pagination, id, 1, TotalPages);  //Current page é 1

                return(View(page));
            }


            else if (NumberOfPage <= 0)
            {
                page = ChangePage(pagination, id, 1, TotalPages);  //Current page é 1
                return(View(page));
            }

            else if (NumberOfPage >= TotalPages)
            {
                page = ChangePage(pagination, id, TotalPages, TotalPages); //Current page é o total de páginas
                return(View(page));
            }

            else
            {
                page = ChangePage(pagination, id, NumberOfPage, TotalPages); //Current page é o número da pagina atual
                return(View(page));
            }
        }
Esempio n. 3
0
        private PublicationProductViewModel BuildPage(int id, int currentPage)
        {
            var    page   = _productService.FindProductById(id);
            Manual manual = JsonConvert.DeserializeObject <Manual>(page.Json);
            PublicationProductViewModel publication = new PublicationProductViewModel();

            publication.NumberOfPage = currentPage;
            publication.TotalPages   = manual.TotalPages;
            publication.Name         = manual.Name;
            publication.Sections     = manual.Sections;
            publication.Chapters     = manual.Chapters;
            publication.Paragraphs   = manual.Paragraphs;
            var    text   = manual.Paragraphs.Where(p => p.NumberOfPage == currentPage).ToList();
            Concat concat = new Concat(text);
            var    texts  = concat.WriteText(text);

            publication.Texts = texts;
            publication.id    = id;

            return(publication);
        }