public async Task <IActionResult> Edit(Activity activity) { var currentUser = await _userManager.GetCurrentUser(Context); if (currentUser == null || !await _userManager.IsTenantAdmin(currentUser)) { return(new HttpUnauthorizedResult()); } if (ModelState.IsValid) { await _dataAccess.UpdateActivity(activity); return(RedirectToAction("Index")); } return(View(activity)); }
public void Put(int id, [FromBody] ActivityViewModel value) { var activity = _prepOpsDataAccess.GetActivity(value.Id); if (activity == null) { this.HttpBadRequest(); } var associatedCampaign = _prepOpsDataAccess.GetCampaign(value.CampaignId); var tenant = _prepOpsDataAccess.GetTenant(value.TenantId); // TODO: Helper method to do this kind of conversion. activity.Campaign = associatedCampaign; activity.EndDateTimeUtc = value.EndDateTime.UtcDateTime; activity.Location = value.Location.ToModel(); activity.Name = value.Title; activity.StartDateTimeUtc = value.StartDateTime.UtcDateTime; activity.Tasks = value.Tasks.ToModel(_prepOpsDataAccess).ToList(); activity.Tenant = tenant; _prepOpsDataAccess.UpdateActivity(activity); }
public async Task <IActionResult> Signup(int id) { var returnUrl = $"/Activity/Signup/{id}"; if (!User.IsSignedIn()) { return(RedirectToAction(nameof(AccountController.Login), "Account", new { ReturnUrl = returnUrl })); } var user = await GetCurrentUserAsync(); // Maybe it wasn't logged in properly. if (user == null) { return(RedirectToAction(nameof(AccountController.Login), "Account", new { ReturnUrl = returnUrl })); } var activity = _prepOpsDataAccess.GetActivity(id); if (activity == null) { return(HttpNotFound()); } if (activity.UsersSignedUp == null) { activity.UsersSignedUp = new List <ActivitySignup>(); } // If the user clicks multiple times, they may already be signed up. if (!(from actSignup in activity.UsersSignedUp where actSignup.User.Id == user.Id select actSignup).Any()) { activity.UsersSignedUp.Add(new ActivitySignup { Activity = activity, User = user, SignupDateTime = DateTime.UtcNow }); await _prepOpsDataAccess.UpdateActivity(activity); } return(RedirectToAction(nameof(GetMyActivities))); }