public async Task <ActionResult> AcceptRegisterInvitation(AcceptRegisterInvitationViewModel invitationVM) { if (ModelState.IsValid) { var user = new ApplicationUser { FirstName = invitationVM.FirstName, LastName = invitationVM.LastName, DisplayName = invitationVM.DisplayName, UserName = invitationVM.Email, Email = invitationVM.Email, AvatarPath = "/Avatars/Stuart.png", HouseholdId = invitationVM.HouseholdId }; var result = await UserManager.CreateAsync(user, invitationVM.Password); if (result.Succeeded) { InvitationHelper.MarkAsInvalid(invitationVM.Id); rHelp.AddUserToRole(user.Id, "Member"); await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); return(RedirectToAction("Hooray", "Account")); } AddErrors(result); } return(View(invitationVM)); }
public ActionResult AcceptRegisterInvitation(string recipientEmail, string code) { var realGuid = Guid.Parse(code); var invitation = db.Invitations.FirstOrDefault(i => i.RecipientEmail == recipientEmail && i.Code == realGuid); if (invitation == null) { return(View("Error", invitation)); } var expirationDate = invitation.Created.AddDays(invitation.TTL); if (invitation.IsValid && DateTime.Now < expirationDate) { var householdName = db.Households.Find(invitation.HouseholdId).Name; ViewBag.Greeting = $"Welcome to {householdName}!"; //var emails = db.Users.Select(u => u.Email).FirstOrDefault().ToLower(); //var userEmail = recipientEmail.ToLower(); //if (emails == userEmail) //{ // var invitationRVM = new AcceptInvitationRegisteredViewModel // { // Id = invitation.Id, // Email = recipientEmail, // Code = realGuid, // HouseholdId = invitation.HouseholdId // }; // return View("RegisteredInvitation", invitationRVM); //} var invitationVM = new AcceptRegisterInvitationViewModel { Id = invitation.Id, Email = recipientEmail, Code = realGuid, HouseholdId = invitation.HouseholdId }; return(View(invitationVM)); } return(View("AcceptError", invitation)); }