public IActionResult Index(InspectorFilter filter, InspectorsSortState sortOrder = InspectorsSortState.FullNameAsc) { if (!HttpContext.Session.TryGet(out IEnumerable <Inspector> inspectors)) { inspectors = _context.Inspectors.ToList(); HttpContext.Session.Set(inspectors); } ViewData["Subdivisions"] = inspectors .Select(i => new SelectListItem { Value = i.Subdivision, Text = i.Subdivision, Selected = i.Subdivision == ((string)HttpContext.Items["Subdivision"] ?? "") }) .Distinct(new SelectListItemEqualityComparer()) .ToList(); inspectors = SortInspectors(inspectors, sortOrder); inspectors = inspectors.Where(i => i.FullName.StartsWith(filter.FullName ?? "")); inspectors = inspectors.Where(i => i.Subdivision.StartsWith(filter.Subdivision ?? "")); return(View(inspectors)); }
public void OnActionExecuting(ActionExecutingContext context) { var session = context.HttpContext.Session; session.TryGet(out InspectorFilter filter); if (context.HttpContext.Request.HasFormContentType) { var form = context.HttpContext.Request.Form; filter = new InspectorFilter { FullName = form["FullName"], Subdivision = form["Subdivision"] }; session.Set(filter); } if (filter != null) { context.HttpContext.Items["FullName"] = filter.FullName; context.HttpContext.Items["Subdivision"] = filter.Subdivision; } }