// GET: Universities/RedirectToIndex public ActionResult RedirectToIndex() { string searchCriteriaInSessionData = Session["UniversitySearchCriteria"]?.ToString(); string countryInSessionData = Session["UniversityCountry"]?.ToString(); int? currentPageInSessionData = (int?)Session["CurrentUniversityPage"]; UniversitySortOrder sortOrderInSessionData = Session["UniversitySortOrder"] != null ? (UniversitySortOrder)Session["UniversitySortOrder"] : UniversitySortOrder.NAME_ASC; return(RedirectToAction("Index", new { page = currentPageInSessionData, searchCriteria = searchCriteriaInSessionData, sortOrder = sortOrderInSessionData, country = countryInSessionData })); }
// GET: Universities/{page}/{searchCriteria}/{sortOrder}/{country} public ActionResult Index(int?page, string searchCriteria = null, UniversitySortOrder sortOrder = UniversitySortOrder.NAME_ASC, string country = null) { IEnumerable <University> universities; Session["CurrentUniversityPage"] = page; Session["UniversitySortOrder"] = sortOrder; Session["UniversitySearchCriteria"] = searchCriteria; Session["UniversityCountry"] = country; ViewBag.SearchCriteria = searchCriteria; ViewBag.Country = country; // Default value from html dropdown list if (country == "") { country = null; } if (country != null && searchCriteria != null) { universities = _universityRepository.GetMany(university => university.Country == country && university.Name.Contains(searchCriteria)); } else if (searchCriteria != null) { universities = _universityRepository.GetMany(university => university.Name.Contains(searchCriteria)); } else if (country != null) { universities = _universityRepository.GetMany(university => university.Country == country); } else { universities = _universityRepository.GetAll(); } return(View(_paginationHandler.ConstructViewModel(universities, page, sortOrder))); }