示例#1
0
        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));
        }
示例#2
0
        // 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)));
        }