public IActionResult Index(ResultsFilter filter) { if (_featureFlags.RedirectToRailsPageResults) { return(_redirectUrlService.RedirectToNewApp()); } var subjects = _api.GetSubjects(); if (subjects == null) { throw new Exception("Failed to retrieve subject list from api"); } filter.qualifications = !string.IsNullOrWhiteSpace(filter.qualifications) ? filter.qualifications : string.Join(",", Enum.GetNames(typeof(QualificationOption))); FilteredList <Subject> filteredSubjects; if (filter.SelectedSubjects.Count > 0) { filteredSubjects = new FilteredList <Subject>( subjects.Where(subject => filter.SelectedSubjects.Contains(subject.Id)).ToList(), subjects.Count ); } else { filteredSubjects = new FilteredList <Subject>(subjects, subjects.Count); } var mapsEnabled = _featureFlags.Maps; var queryFilter = filter.ToQueryFilter(); var viewModel = new ResultsViewModel { Subjects = filteredSubjects, FilterModel = filter, MapsEnabled = mapsEnabled }; queryFilter.pageSize = 10; viewModel.Courses = _api.GetCourses(queryFilter); return(View(viewModel)); }
private string GetSiteMapContents() { var emptyQuery = new ResultsFilter().ToQueryFilter(); emptyQuery.pageSize = 10_000_000; var allCourses = _api.GetCourses(emptyQuery).Items; var stringBuilder = new StringBuilder(); foreach (var item in allCourses) { var action = Url.Action("Index", "Course", new { providerCode = item.Provider.ProviderCode, courseCode = item.ProgrammeCode }, Request.Scheme); stringBuilder.AppendLine(action); } return(stringBuilder.ToString()); }