public async Task <ServicesListViewModel> GetListAsync(ServicesSearchModel searchModel) { var pageInfo = new PageInfoViewModel(); pageInfo.PageNumber = searchModel.Page; pageInfo.PageSize = searchModel.ItemsPerPage; var getServices = context.Services.Where(x => x.IsApproved == searchModel.IsApproved); if (!String.IsNullOrWhiteSpace(searchModel.Search)) { getServices = getServices.Where(x => x.Name.Contains(searchModel.Search)); } if (searchModel.CategoryId != null) { getServices = getServices.Where(x => x.CategoryId == searchModel.CategoryId); } if (searchModel.SortAscending == true) { getServices = getServices.OrderBy(x => x.Name); } else { getServices = getServices.OrderByDescending(x => x.Name); } pageInfo.TotalItems = await getServices.CountAsync(); var dataModel = await getServices .Skip(pageInfo.SkipItems) .Take(pageInfo.PageSize) .Include(x => x.Category) .ToListAsync(); var viewModel = new ServicesListViewModel(); viewModel.Services = _mapper.Map <List <ServiceViewModel> >(dataModel); viewModel.PageInfo = pageInfo; return(viewModel); }
public async Task <ActionResult> NotApprovedServiceTable(ServicesSearchModel searchModel) { searchModel.IsApproved = false; return(PartialView("ServiceTable", await _serviceManager.GetListAsync(searchModel))); }