public ActionResult Search(SearchStringViewModel model) { // If you want to redirect to login if not logged in //if (!System.Web.HttpContext.Current.User.Identity.IsAuthenticated) //return RedirectToAction("Login", "Account"); string search = model.SearchText; IEnumerable <Expert> experts = _dbContext.Experts.ToList(); IEnumerable <ApplicationUser> users = _dbContext.Users.ToList(); IEnumerable <SearchViewModel> models; experts = from expert in experts from str in expert.Keywords.Split(new string[] { ", " }, StringSplitOptions.RemoveEmptyEntries) where expert.Validated && search.ToLower().Equals(str.ToLower()) select expert; models = from expert in experts join user in users on expert.Id equals user.Id select new SearchViewModel { Name = user.Name, Expertise = expert.ExpertiseCatagory, Id = expert.Id }; return(View(models)); }
// GET: Search public ActionResult PeopleSearch(SearchStringViewModel model, int?page) { if (ModelState.IsValid) { int pageSize = 8; int pageNumber = (page ?? 1); var Peoples = db.Persons.Where(x => x.Family.Contains(model.SearchString) || x.Name.Contains(model.SearchString) || x.Surname.Contains(model.SearchString) ).OrderBy(x => x.Family); ViewBag.returnAction = "PeopleSearch"; if (User.Identity.IsAuthenticated) { var Userid = User.Identity.GetUserId(); ViewBag.flags = db.PeopleUsers.Where(x => x.User.Id == Userid).ToList(); } return(View("Index", Peoples.ToPagedList(pageNumber, pageSize))); } return(View("Index", new List <Person>().ToPagedList(8, 8))); }