public async Task <PagedList <Category> > GetCategories(RequestModels.UserFilter filter) { var categories = _dbContext.Categories.OrderBy(c => c.Title).AsQueryable(); if (!string.IsNullOrEmpty(filter.SearchText)) { categories = categories.Where(c => c.Title.ToLower().Contains(filter.SearchText.ToLower())); } return(await PagedList <Category> .CreateAsync(categories, filter.PageIndex, filter.PageSize)); }
public async Task <IActionResult> GetCategories([FromQuery] RequstModels.UserFilter categoryFilter) { try { var pagedCagegoryList = await _categoryRepository.GetCategories(categoryFilter); if (categoryFilter.IsIdValue) { return(Ok(new { Categories = GetDropdownCategories(pagedCagegoryList) })); } else { var vCategories = new List <ViewModels.Category>(); foreach (var sCategory in pagedCagegoryList) { vCategories.Add(new ViewModels.Category { Id = sCategory.Id.ToString(), Title = sCategory.Title, Description = sCategory.Description }); } return(Ok(new { Pagination = new ViewModels.Pagination(pagedCagegoryList.PageIndex, pagedCagegoryList.PageSize, pagedCagegoryList.TotalCount, pagedCagegoryList.TotalPages), Categories = vCategories })); } } catch (Exception ex) { return(BadRequest(ex)); } }