Пример #1
0
        public IActionResult GetAllProducts([FromQuery] ProductPagingParameters productPagingParameters)
        {
            var prodcutFromRepo = _prd.GeAllProducts(Request, productPagingParameters);
            var prodcutRes      = prodcutFromRepo.Item1;
            var prodcuts        = prodcutFromRepo.Item2;
            var metadata        = new
            {
                prodcuts.TotalCount,
                prodcuts.PageSize,
                prodcuts.CurrentPage,
                prodcuts.TotalPages,
                prodcuts.HasNext,
                prodcuts.HasPrevious
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));
            return(Ok(prodcutRes));
        }
Пример #2
0
        public (List <ProductResponse>, PagedList <Product>) GeAllProducts(HttpRequest req, ProductPagingParameters productPagingParameters)
        {
            //    var listOfProducts = _context.product
            //        .Skip((productPagingParameters.PageNumber - 1) * productPagingParameters.PageSize)
            //.Take(productPagingParameters.PageSize)

            //  .ToList();

            PagedList <Product> listOfProducts;;

            using (_context)
            {
                _context.product.Include(acc => acc.Category).ToList();
                _context.product.Include(acc => acc.productDesign).ThenInclude(acc => acc.product_design_images).ThenInclude(acc => acc.ProductImage).ToList();
                _context.product.Include(acc => acc.productDesign).ThenInclude(acc => acc.productColor).ToList();
                _context.product.Include(acc => acc.productDesign).ThenInclude(acc => acc.productSize).ToList();

                _context.product.Include(acc => acc.product_images).ToList();
                _context.product.Include(acc => acc.StichingType).ToList();
                _context.product.Include(acc => acc.Fabric).ToList();
                _context.product.Include(acc => acc.Vendor).ToList();

                listOfProducts = PagedList <Product> .ToPagedList(_context.product, productPagingParameters.PageNumber, productPagingParameters.PageSize);
            }

            List <ProductResponse> ListOfProductResponse = new List <ProductResponse>();

            foreach (Product prd in listOfProducts)
            {
                ListOfProductResponse.Add(new ProductResponse(prd, req));
            }


            return(ListOfProductResponse, listOfProducts);
        }