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));
        }