public bool IsEmptyFilter(PassengerFilter filter) { if (string.IsNullOrEmpty(filter.Name) && string.IsNullOrEmpty(filter.Surname) && string.IsNullOrEmpty(filter.DocumentValue) && string.IsNullOrEmpty(filter.Email)) { return(true); } return(false); }
public List <Passenger> GetPassengersByFilter(PassengerFilter filter = null) { try { var result = (from p in db.Passengers select new Models.Customer.Passenger { Id = p.Id, Age = p.Age, Birthday = p.Birthday, Documents = (from d in db.Document where d.PassengerId == p.Id select new Document { Id = d.Id, DocumentType = d.DocumentType, Value = d.Value }).ToList(), BonusCardId = p.BonusCardId, Citizenship = p.Citizenship, Email = p.Email, Gender = p.Gender, Name = p.Name, Notes = p.Notes, PasswordHash = p.PasswordHash, Patronumic = p.Patronumic, Phone = p.Phone, Surname = p.Surname }); if (filter != null) { if (!new FilterHandler().IsEmptyFilter(filter)) { if (!String.IsNullOrEmpty(filter.Name)) { result = result.Where(f => f.Name.Contains(filter.Name)); } if (!String.IsNullOrEmpty(filter.Surname)) { result = result.Where(f => f.Surname.Contains(filter.Surname)); } if (!String.IsNullOrEmpty(filter.Email)) { result = result.Where(f => f.Email.Contains(filter.Email)); } } } var listResult = result.OrderBy(p => p.Id).ToList(); if (filter != null) { if (!new FilterHandler().IsEmptyFilter(filter)) { if (!String.IsNullOrEmpty(filter.DocumentValue)) { listResult = listResult.FindAll(f => f.Documents.Exists(doc => doc.Value.Contains(filter.DocumentValue))); } } } return(listResult); } catch (Exception ex) { return(null); } }
public IActionResult PassengersByFilter(PassengerFilter filter) { var model = new CashierService(db).GetPassengersByFilter(filter); return(PartialView("_PassengersByFilter", model)); }