Exemplo n.º 1
0
        public IActionResult ViewActivity(int TheActivityId)
        {
            if (HttpContext.Session.GetInt32("UserId") == null)
            {
                return(RedirectToAction("LoginReg"));
            }
            TheActivity ThisActivity = dbContext.Activities
                                       .Include(a => a.User)
                                       .Include(activity => activity.Attending)
                                       .ThenInclude(guest => guest.User)
                                       .SingleOrDefault(activity => activity.TheActivityId == TheActivityId);

            return(View("View", ThisActivity));
        }
Exemplo n.º 2
0
        public IActionResult Delete(int TheActivityId)
        {
            if (HttpContext.Session.GetInt32("UserId") == null)
            {
                return(RedirectToAction("LoginReg"));
            }
            TheActivity ThisActivity = dbContext.Activities
                                       .SingleOrDefault(activity => activity.TheActivityId == TheActivityId);

            dbContext.Activities.Remove(ThisActivity);
            dbContext.SaveChanges();

            return(RedirectToAction("Dashboard"));
        }
Exemplo n.º 3
0
        public IActionResult Activities(int activityId)
        {
            // query the TheActivity by id
            TheActivity thisActivity = _context
                                       .Activities
                                       .Include(m => m.CreatedBy)
                                       .Include(m => m.Members)
                                       .ThenInclude(f => f.Member)
                                       .FirstOrDefault(m => m.TheActivityId == activityId);
            // call user info and put in viewBag
            User u = _context.Users.FirstOrDefault(u => u.UserId == (int)uid);

            ViewBag.User = u;
            return(View(thisActivity));
        }
Exemplo n.º 4
0
        [HttpGet("delete/{activityId}")]  // activityId has to match the asp-route-movieId
        public IActionResult Delete(int activityId)
        {
            if (!isLoggedIn)
            {
                return(RedirectToAction("Index", "Home"));
            }
            // query Activities db by id
            TheActivity delActivity = _context.Activities.FirstOrDefault(m => m.TheActivityId == activityId);

            // remove from db
            _context.Activities.Remove(delActivity);
            // save changes
            _context.SaveChanges();
            return(RedirectToAction("Dashboard"));
        }
Exemplo n.º 5
0
        public IActionResult Leave(int TheActivityId)
        {
            if (HttpContext.Session.GetInt32("UserId") == null)
            {
                return(RedirectToAction("LoginReg"));
            }
            User        LoggedUser   = dbContext.Users.SingleOrDefault(user => user.UserId == HttpContext.Session.GetInt32("UserId"));
            Rsvp        ThisRsvp     = dbContext.Actions.SingleOrDefault(rsvp => rsvp.UserId == HttpContext.Session.GetInt32("UserId") && rsvp.TheActivityId == TheActivityId);
            TheActivity ThisActivity = dbContext.Activities
                                       .Include(activity => activity.Attending)
                                       .ThenInclude(guest => guest.User)
                                       .SingleOrDefault(activity_center => activity_center.TheActivityId == TheActivityId);

            ThisActivity.Attending.Remove(ThisRsvp);
            dbContext.SaveChanges();

            return(RedirectToAction("Dashboard"));
        }
Exemplo n.º 6
0
        public IActionResult CreateActivity(TheActivity newActivity)
        {
            if (HttpContext.Session.GetInt32("UserId") == null)
            {
                return(RedirectToAction("LoginReg"));
            }

            newActivity.UserId = (int)HttpContext.Session.GetInt32("UserId");

            if (ModelState.IsValid)
            {
                dbContext.Add(newActivity);
                dbContext.SaveChanges();

                return(RedirectToAction("Dashboard"));
            }
            else
            {
                return(View("New", newActivity));
            }
        }
Exemplo n.º 7
0
        public IActionResult PostActivity(TheActivity activity)
        {
            // check date if in past
            if (activity.Date.Year < DateTime.Now.Year)
            {
                ModelState.AddModelError("Date", "Release Date must be in the Future");
            }
            // run validation
            if (ModelState.IsValid)
            {
                // store Activity in db
                activity.UserId = (int)uid;
                _context.Activities.Add(activity);
                _context.SaveChanges();
                return(Redirect($"/activity/{activity.TheActivityId}"));
                // this below one does the same thing
            }
            User u = _context.Users.FirstOrDefault(u => u.UserId == (int)uid);

            ViewBag.User = u;
            return(View("NewActivity"));
        }
Exemplo n.º 8
0
        public IActionResult Join(int TheActivityId)
        {
            if (HttpContext.Session.GetInt32("UserId") == null)
            {
                return(RedirectToAction("LoginReg"));
            }
            User        LoggedUser   = dbContext.Users.SingleOrDefault(user => user.UserId == HttpContext.Session.GetInt32("UserId"));
            TheActivity ThisActivity = dbContext.Activities
                                       .Include(activity => activity.Attending)
                                       .ThenInclude(attendant => attendant.User)
                                       .SingleOrDefault(activity => activity.TheActivityId == TheActivityId);
            Rsvp MakeRsvp = new Rsvp
            {
                UserId        = LoggedUser.UserId,
                User          = LoggedUser,
                TheActivityId = ThisActivity.TheActivityId,
                TheActivity   = ThisActivity
            };

            ThisActivity.Attending.Add(MakeRsvp);
            dbContext.SaveChanges();

            return(RedirectToAction("Dashboard"));
        }