public ViewResult Index(string sortOrder, string currentFilter, string searchString) { if (String.IsNullOrEmpty(searchString)) { Vars.GetVacanciesFromHh(); } ViewBag.CurrentSort = sortOrder; ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date"; ViewBag.CurrentFilter = searchString; var vacancies = vacancyRepository.GetVacancies().Select(s => s).Take(15); if (!String.IsNullOrEmpty(searchString)) { vacancies = vacancies.Where(s => s.vacancy_name.ToUpper().Contains(searchString.ToUpper())); } switch (sortOrder) { case "name_desc": vacancies = vacancies.OrderByDescending(s => s.vacancy_name); break; case "Date": vacancies = vacancies.OrderBy(s => s.published_at); break; case "date_desc": vacancies = vacancies.OrderByDescending(s => s.published_at); break; case "employer_name": vacancies = vacancies.OrderByDescending(s => s.employer_name); break; default: // Name ascending vacancies = vacancies.OrderBy(s => s.vacancy_name); break; } return(View(vacancies)); }