Esempio n. 1
0
        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);
        }