public IActionResult ViewGroup(int GroupId) { if (HttpContext.Session.GetInt32("InSession") != null) { ViewGroupViewModel viewModel = new ViewGroupViewModel(); viewModel.thisGroup = dbContext.Groups .Include(l => l.Leader) .Include(ug => ug.UserGroups) .ThenInclude(u => u.User) .FirstOrDefault(g => g.GroupId == GroupId); viewModel.thisUser = dbContext.Users .FirstOrDefault(u => u.UserId == HttpContext.Session.GetInt32("InSession")); return(View("ViewGroup", viewModel)); } return(RedirectToAction("Index")); }
public ActionResult ViewGroup(int?ID, int?page) { if (ID == null) { return(View("Error")); } string search = null; if (Request.Form["SearchString"] != null && Request.Form["SearchString"] != "") { search = Request.Form["SearchString"]; } var db = new ApplicationDbContext(); List <Thread> threads = new List <Thread>(); if (search != null) { var results = from thread in db.Threads join post in db.Posts on thread.ThreadID equals post.ThreadID where thread.GroupID == ID && (thread.Title.ToLower().Contains(search.ToLower()) || post.Message.Contains(search.ToLower()) || thread.Message.Contains(search.ToLower())) orderby thread.TimeDate descending select thread; threads = results.ToList(); } else { threads = db.Threads.Where(u => u.GroupID == ID).OrderByDescending(u => u.TimeDate).ToList(); } var group = db.Groups.Where(u => u.GroupID == ID).FirstOrDefault(); var currentPage = page ?? 1; var model = new ViewGroupViewModel { Search = search, Group = group, Threads = threads.ToPagedList(currentPage, DefaultPageSize) }; return(View(model)); }