public async Task<ActionResult> InviteMember(int? id) { if (id == null) return HttpNotFound(); UserHousehold userHousehold = await GetDb().UserHouseholds.FindAsync(id); if (userHousehold == null || userHousehold.UserID != (DEBUG ? USER_ID_DEBUG : User.Identity.GetUserId())) return HttpNotFound(); ViewBag.Title = "Invite New Member to " + userHousehold.Household.Name; InviteMemberView invitationView = new InviteMemberView(); this.AddTemp(invitationView, "UserHouseholdID", id.GetValueOrDefault()); return PartialView("_InviteMemberPartial", invitationView); }
public async Task<ActionResult> InviteMember(InviteMemberView inviteMemberView) { if (ModelState.IsValid) { Invitation invitation = new Invitation(); invitation.ToEmail = inviteMemberView.Email; invitation.UserHouseholdID = this.GetTemp<int>(inviteMemberView, "UserHouseholdID"); GetDb().Invitations.Add(invitation); await GetDb().SaveChangesAsync(); // TODO: Send invitation email return Json(new { result = "Success" }); } return Json(new { result = "Failed" }); }