Example #1
0
        public async Task <IActionResult> GetByCategory([FromRoute] string category, int page = 1, int pageSize = 5)
        {
            Tuple <int, List <Product> > products = await _productsService.FetchPageByCategory(category, pageSize, page);

            return(StatusCodeAndDtoWrapper.BuildSuccess(ProductListDtoResponse.Build(products.Item2,
                                                                                     "/by_category/{category}", page, pageSize, products.Item1)));
        }
Example #2
0
        public async Task <IActionResult> Index(
            [FromQuery] int page = 1, [FromQuery] int pageSize = 5)
        {
            var products = await _productsService.FetchPage(page, pageSize);

            var basePath = Request.Path;

            return(StatusCodeAndDtoWrapper.BuildSuccess(ProductListDtoResponse.Build(products.Item2, basePath,
                                                                                     currentPage: page, pageSize: pageSize, totalItemCount: products.Item1)));
        }
Example #3
0
        public async Task <IActionResult> GetBySearchTerm(string term, int page = 1, int pageSize = 5)
        {
            Tuple <int, List <Product> > result;

            if (!string.IsNullOrEmpty(term))
            {
                result = await _productsService.FetchBySearchTerm(term, page, pageSize);
            }
            else
            {
                result = await _productsService.FetchPage(page, pageSize);
            }

            return(StatusCodeAndDtoWrapper.BuildSuccess(ProductListDtoResponse.Build(result.Item2, "search/", page,
                                                                                     pageSize, result.Item1)));
        }