Exemple #1
0
        private IHttpActionResult getProduct(string slug, string productBadge, [FromUri] CategoryPageParameterModel parameter)
        {
            var pagination = new PaginationMetadataModel()
            {
                currentPage = parameter.pageNumber,
                pageSize    = parameter.pageSize
            };
            var filter = new CategoryPageFilterModel()
            {
                categorySlug = slug,
                productBadge = productBadge,
                priceMin     = parameter.priceMin,
                priceMax     = parameter.priceMax,
                sort         = parameter.sort
            };
            var products = _service.getProducts(filter, ref pagination);

            if (products == null || products.Count == 0)
            {
                return(NotFound());
            }

            // Setting Header
            HttpContext.Current.Response.Headers.Add("Access-Control-Expose-Headers", "X-Paging-Headers");
            HttpContext.Current.Response.Headers.Add("X-Paging-Headers", JsonConvert.SerializeObject(pagination));

            // Returing List of product Collections
            return(Ok <List <ProductCardModel> >(products));
        }
Exemple #2
0
        /// <summary>
        /// Lấy tất cả sản phẩm theo bộ lọc
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="pagination"></param>
        /// <returns></returns>
        public List <ProductCardModel> getProducts(CategoryPageFilterModel filter, ref PaginationMetadataModel pagination)
        {
            var productFilter = new ProductFilterModel()
            {
                categorySlug = filter.categorySlug,
                productBadge = filter.productBadge,
                productSort  = filter.sort,
                priceMin     = filter.priceMin,
                priceMax     = filter.priceMax
            };

            return(_product.getProducts(productFilter, ref pagination));
        }