private IEnumerable <EmplItem> GetEmpls(EmplFilter filter) { IQueryable <Employee> query = db.Employees; if (!string.IsNullOrWhiteSpace(filter.Name)) { query = query.Where(e => e.FirstName.Contains(filter.Name) || e.LastName.Contains(filter.Name) || e.MiddleName.Contains(filter.Name)); } if (!string.IsNullOrWhiteSpace(filter.Title)) { query = query.Where(e => e.Title.Contains(filter.Title)); } var result = query.AsEnumerable() .Select(empl => new EmplItem() { Id = empl.Id, Name = $"{empl.LastName} {empl.FirstName} {empl.MiddleName}", BirthYear = empl.BirthYear, Title = empl.Title }) .ToList(); return(result); }
public ActionResult Index(EmplFilter filter = new EmplFilter()) { var result = new EmplSearch() { Filter = filter, Empls = GetEmpls(filter) }; ViewBag.Title = "Index"; return(View(result)); }