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))); }
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))); }
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))); }