Esempio n. 1
0
        /// <summary>
        /// The method returns the view with list of all products and adds a pagination
        /// </summary>
        public ActionResult GetAllProducts(int page = 1)
        {
            IEnumerable <ProductDTO> productDTOs = productService.GetAllElements();

            Mapper.Initialize(configuration => configuration.CreateMap <ProductDTO, ProductModel>());
            var allProducts = Mapper.Map <IEnumerable <ProductDTO>, List <ProductModel> >(productDTOs);

            PaginationProductsModel productsWithPagination = CreatePaginationForProducts(allProducts, page);

            return(View("AllProducts", productsWithPagination));
        }
Esempio n. 2
0
        /// <summary>
        /// The method shows all products with short-description and adds a pagination
        /// </summary>
        /// <returns>The views with list of products</returns>
        public ActionResult Index(int page = 1)
        {
            IEnumerable <ProductDTO> productDTOs = productService.GetAllElements();

            productDTOs.ToList().ForEach(prod => prod.Description = prod.Description.Substring(0, 100));

            Mapper.Initialize(configuratin => configuratin.CreateMap <ProductDTO, ProductModel>());
            var productsForDisplay = Mapper.Map <IEnumerable <ProductDTO>, List <ProductModel> >(productDTOs);

            PaginationProductsModel productsWithPagination = CreatePaginationForProducts(productsForDisplay, page);

            return(View("Index", productsWithPagination));
        }
Esempio n. 3
0
        /// <summary>
        /// The method adds the pagination for collection of products
        /// </summary>
        /// <param name="products">The list of product without pagination</param>
        /// <param name="page">The number of current page</param>
        private PaginationProductsModel CreatePaginationForProducts(IEnumerable <ProductModel> products, int page)
        {
            int amountItemOnPage = 10;
            IEnumerable <ProductModel> productsOnPage = products.Skip((page - 1) * amountItemOnPage).Take(amountItemOnPage);
            PageModel pageModel = new PageModel
            {
                PageNumber   = page,
                PageCapacity = amountItemOnPage,
                TotalItems   = products.Count()
            };

            PaginationProductsModel productsOnPages = new PaginationProductsModel
            {
                Page     = pageModel,
                Products = productsOnPage
            };

            return(productsOnPages);
        }