private IQueryable <Orphanage> GetFiltered(IQueryable <Orphanage> orphanages, OrphanageSearchModel searchModel) { if (searchModel != null) { _searchModel = searchModel; if (!string.IsNullOrEmpty(searchModel.NameString)) { orphanages = orphanages.Where(x => x.Name.Contains(searchModel.NameString)); } if (!string.IsNullOrEmpty(searchModel.AddressString)) { orphanages = orphanages.Where(x => Contains(x.Adress)); } if (searchModel.RatingNumber > 0) { orphanages = orphanages.Where(x => x.Rating >= searchModel.RatingNumber); } } GetViewData(); return(orphanages); }
public async Task <IActionResult> Index(int id, OrphanageSearchModel searchModel, SortStateOrphanages sortOrder = SortStateOrphanages.NameAsc) { IQueryable <Orphanage> orphanages = _unitOfWorkAsync.Orphanages.GetAll(); orphanages = GetFiltered(orphanages, searchModel); orphanages = GetSorted(orphanages, sortOrder); if (id == 0) { return(View(await orphanages.ToListAsync())); } if (id > 0) { orphanages = orphanages.Where(x => x.ID.Equals(id)); } return(View(await orphanages.ToListAsync())); }