public IActionResult PersonFilter(PersonsSearchModel sModel) { ViewData["Cities"] = new SelectList(_uow.Cities.GetAll(), "Id", "Name"); var persons = _uow.Persons.GetAll().ToList(); sModel.GetPage(PersonHelper.FilterPersons(persons, sModel)); return(View(sModel)); }
public static List <PersonViewModel> FilterPersons(List <Person> persons, PersonsSearchModel sModel) { if (!string.IsNullOrEmpty(sModel.FirstName)) { persons = persons.Where(p => p.FirstName.Equals(sModel.FirstName)).ToList(); } if (!string.IsNullOrEmpty(sModel.LastName)) { persons = persons.Where(p => p.LastName.Equals(sModel.LastName)).ToList(); } if (!string.IsNullOrEmpty(sModel.PersonalNo)) { persons = persons.Where(p => p.PersonalNo.Equals(sModel.PersonalNo)).ToList(); } if (sModel.Gender.HasValue) { persons = persons.Where(p => p.Gender.Equals(sModel.Gender)).ToList(); } if (sModel.BirthDate.HasValue) { persons = persons.Where(p => p.BirthDate.Equals(sModel.BirthDate)).ToList(); } if (sModel.CityId.HasValue) { persons = persons.Where(p => p.CityId.Equals(sModel.CityId)).ToList(); } if (sModel.HasPhoto.HasValue) { persons = persons.Where(p => p.ImageUrl.Equals(_defaultImageName)).ToList(); } var personViewModels = new List <PersonViewModel>(); foreach (var person in persons.OrderByDescending(p => p.Id)) { personViewModels.Add(PersonHelper.ConvertToViewModel(person)); } return(personViewModels); }