Exemplo n.º 1
0
        public IActionResult JoinActivity(int id)
        {
            Identity identity = UserManager.Validate(HttpContext.Session);

            if (!identity.Valid)
            {
                return(RedirectToAction("Index", "Account"));
            }

            Activity activity = _context.Activities.SingleOrDefault(a => a.ActivityId == id);
            User     user     = _context.Users.SingleOrDefault(u => u.UserId == identity.UserId);

            if (activity != null && !HasJoinedActivity(activity, identity))
            {
                if (!TimeConflict(activity, identity))
                {
                    ActivityUserJoin activityUserJoin = new ActivityUserJoin
                    {
                        ActivityId = activity.ActivityId,
                        Activity   = activity,
                        UserId     = user.UserId,
                        User       = user
                    };

                    _context.ActivityUserJoins.Add(activityUserJoin);
                    _context.SaveChanges();
                }
                else
                {
                    return(RedirectToAction("TimeConflict"));
                }
            }

            return(RedirectToAction("Home"));
        }
Exemplo n.º 2
0
        public IActionResult LeaveActivity(int id)
        {
            Identity identity = UserManager.Validate(HttpContext.Session);

            if (!identity.Valid)
            {
                return(RedirectToAction("Index", "Account"));
            }

            ActivityUserJoin activityUserJoin = _context.ActivityUserJoins
                                                .SingleOrDefault(auj => auj.ActivityId == id && auj.UserId == identity.UserId);

            _context.ActivityUserJoins.Remove(activityUserJoin);
            _context.SaveChanges();

            return(RedirectToAction("Home"));
        }