public ActionResult SearchApp(string searchCriteria, int?page, ApplicantViewModel applicant, FormCollection collection) { DAL.BusinessRepository br = new DAL.BusinessRepository(); if (User.IsInRole("Admin") || br.CheckApproved(User.Identity.GetUserName())) { int pageSize = 15; int pageNumber = (page ?? 1); ViewBag.CurrentCriteria = searchCriteria; TechCareerFair.DAL.ApplicantRepository ar = new TechCareerFair.DAL.ApplicantRepository(); TechCareerFair.DAL.FieldDAL.FieldRepository fieldRepo = new TechCareerFair.DAL.FieldDAL.FieldRepository(); IEnumerable <ApplicantViewModel> apps; 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 (ar) { apps = ar.SelectAllSearchListAsViewModel(); apps = FilterApplicants(apps, fieldsSelected, searchCriteria); } apps = apps.ToPagedList(pageNumber, pageSize); return(View(apps)); } else { return(RedirectToAction("AccessDenied", "Error")); } }
public ActionResult SearchApp(string sortOrder, string searchCriteria, int?page) { DAL.BusinessRepository br = new DAL.BusinessRepository(); if (User.IsInRole("Admin") || br.CheckApproved(User.Identity.GetUserName())) { TechCareerFair.DAL.ApplicantRepository applicantRepository = new TechCareerFair.DAL.ApplicantRepository(); TechCareerFair.DAL.FieldDAL.FieldRepository fieldRepo = new TechCareerFair.DAL.FieldDAL.FieldRepository(); IEnumerable <ApplicantViewModel> apps = applicantRepository.SelectAllSearchListAsViewModel(); ViewBag.AllFields = fieldRepo.SelectAll(); ViewBag.CurrentSort = sortOrder; ViewBag.CurrentCriteria = searchCriteria; int pageSize = 15; int pageNumber = (page ?? 1); apps = FilterApplicants(apps, null, searchCriteria); switch (sortOrder) { case "FirstName": apps = apps.OrderBy(a => a.FirstName); break; case "LastName": apps = apps.OrderBy(a => a.LastName); break; default: break; } apps = apps.ToPagedList(pageNumber, pageSize); return(View(apps)); } else { return(RedirectToAction("AccessDenied", "Error")); } }