public async Task <PaginatedResult <CategoryModel> > GetPage(GetCategoryPageQuery search) { //var query = _readOnlyRepository.Query<Category>(x => x.CategoryName); var query = _readOnlyRepository.Query <Category>(x => x.CategoryName); if (!string.IsNullOrEmpty(search.Term)) { var term = search.Term.Trim(); query = query.Where(x => x.CategoryName.Contains(term)); } var sortCriteria = search.GetSortCriteria(); var items = query .ProjectTo <CategoryModel>(_mapper.ConfigurationProvider) .OrderByOrDefault(sortCriteria, x => x.CategoryName); var page = await _paginator.MakePageAsync(_readOnlyRepository, query, items, search); return(page); }
public async Task <IActionResult> GetPage([FromQuery] GetCategoryPageQuery query) { var result = await _categoryService.GetPage(query); return(Ok(result)); }