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