public async Task <ActionResult> GetAll([FromQuery] CategoriesParameters parameters) { try { var categories = await UnitOfWork.CategoryRepository.GetCategories(parameters); if (categories == null) { return(NoContent()); } var metaData = new { categories.CurrentPage, categories.PageSize, categories.TotalCount, categories.TotalPages, categories.HasNext, categories.HasPrevious, }; Response.Headers.Add("X-Pagination", JsonSerializer.Serialize(metaData)); var categoriesDto = Mapper.Map <List <CategoryDTO> >(categories); return(Ok(categoriesDto)); } catch (Exception) { return(StatusCode(500, "An unexpected error occurred.")); } }
public async Task <PagedList <Category> > GetCategories(CategoriesParameters parameters) { var query = GetAll().AsQueryable(); return(await PagedList <Category> .ToPagedList(query, parameters.PageNumber, parameters.PageSize)); }