コード例 #1
0
        private IHttpActionResult GetProducts(string slug, string[] slugList, PagingParameterModel pagingParameterModel)
        {
            var pagination = new PaginationMetadataModel()
            {
                currentPage = pagingParameterModel.pageNumber,
                pageSize    = pagingParameterModel.pageSize
            };
            var filter = new HomePageFilterModel();

            if (String.IsNullOrEmpty(slug) && slugList != null && slugList.Length > 0)
            {
                filter.categorySlug     = String.Empty;
                filter.categorySlugList = slugList.ToList();
            }
            else
            {
                filter.categorySlug     = slug;
                filter.categorySlugList = new List <string>();
            }

            var products = _service.getProducts(filter, ref pagination);

            if (products == null)
            {
                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));
        }
コード例 #2
0
        /// <summary>
        /// Lấy product theo bộ lọc
        /// </summary>
        /// <param name="filter"></param>
        /// <param name="pagination"></param>
        /// <returns></returns>
        public List <ProductCardModel> getProducts(HomePageFilterModel filter, ref PaginationMetadataModel pagination)
        {
            var productFilter = new ProductFilterModel()
            {
                categorySlug     = filter.categorySlug,
                categorySlugList = filter.categorySlugList,
                productSort      = filter.sort
            };

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