public async Task <ActionResult> Index(string filter, string jobProfiles, string regions) { var mandator = await GetMandator(); var response = await _jobsService.LoadJobsForCurrentPortal(Request.Url, mandator); var jobs = response.Jobs.Filter(filter, jobProfiles, regions); var jobProfilesFilter = (jobProfiles ?? "").Split('|').Select(x => x.Trim()).Where(x => x.HasValue()).ToArray(); var regionsFilter = (regions ?? "").Split('|').Select(x => x.Trim()).Where(x => x.HasValue()).ToArray(); var model = new IndexViewModel { AvailableJobProfiles = mandator.JobProfiles, AvailableRegions = mandator.Regions, TotalJobsCount = response.Jobs.Count(), FilteredText = filter, FilteredJobProfiles = jobProfilesFilter, FilteredRegions = regionsFilter, DisplayFilter = mandator.PortalSettings.EnableFilterOnJobsList, DisplayJobProfileFilter = mandator.PortalSettings.EnableJobProfilesFilterOnJobsList, DisplayRegionFilter = mandator.PortalSettings.EnableRegionsFilterOnJobsList, DisplayJobDate = mandator.PortalSettings.DisplayDateInJobListing, DisplayJobLocation = mandator.PortalSettings.DisplayLocationInJobListing, MoveFilterToBottom = mandator.PortalSettings.MoveJobsFilterToBottomOnJobsList }; model.BuildJobs(jobs.OrderByDescending(x => x.OnlineDateCorrected)); return(View(model)); }