public ActionResult SearchBus(string searchCriteria, int?page, BusinessViewModel business, FormCollection collection) { int pageSize = 15; int pageNumber = (page ?? 1); ViewBag.CurrentCriteria = searchCriteria; bool intern = Convert.ToBoolean(collection["internship"].Split(',')[0]); ViewBag.InternFilter = intern; TechCareerFair.DAL.BusinessRepository businessRepo = new TechCareerFair.DAL.BusinessRepository(); TechCareerFair.DAL.FieldDAL.FieldRepository fieldRepo = new TechCareerFair.DAL.FieldDAL.FieldRepository(); IEnumerable <BusinessViewModel> bus; List <string> fieldsSelected = new List <string>(); List <field> fields = fieldRepo.SelectAll().ToList(); foreach (field f in fields) { bool isChecked = Convert.ToBoolean(collection[f.Name].Split(',')[0]); if (isChecked) { fieldsSelected.Add(f.Name); } } ViewBag.AllFields = fields; ViewBag.Fields = fieldsSelected; using (businessRepo) { bus = businessRepo.SelectAllSearchListAsViewModel() as IList <BusinessViewModel>; bus = FilterBusinesses(bus, fieldsSelected, intern, searchCriteria); } bus = bus.ToPagedList(pageNumber, pageSize); return(View(bus)); }
public ActionResult SearchBus(string sortOrder, string searchCriteria, int?page) { TechCareerFair.DAL.BusinessRepository businessRepository = new TechCareerFair.DAL.BusinessRepository(); TechCareerFair.DAL.FieldDAL.FieldRepository fieldRepo = new TechCareerFair.DAL.FieldDAL.FieldRepository(); IEnumerable <BusinessViewModel> companies = businessRepository.SelectAllSearchListAsViewModel(); ViewBag.AllFields = fieldRepo.SelectAll(); ViewBag.CurrentSort = sortOrder; ViewBag.CurrentCriteria = searchCriteria; int pageSize = 15; int pageNumber = (page ?? 1); companies = FilterBusinesses(companies, null, false, searchCriteria); switch (sortOrder) { case "FirstName": companies = companies.OrderBy(a => a.FirstName); break; case "LastName": companies = companies.OrderBy(a => a.LastName); break; case "BusinessName": companies = companies.OrderBy(a => a.BusinessName); break; default: break; } companies = companies.ToPagedList(pageNumber, pageSize); return(View(companies)); }