public virtual ActionResult ResendConfirmation(ResendConfirmationEmailViewModel model) { // We don't want Login to have us as a return URL // By having this value present in the dictionary BUT null, we don't put "returnUrl" on the Login link at all ViewData[Constants.ReturnUrlViewDataKey] = null; if (ModelState.IsValid) { var usersClaimingEmailAddress = UserService.FindByUnconfirmedEmailAddress(model.Email, model.Username); if (usersClaimingEmailAddress.Count == 1) { var user = usersClaimingEmailAddress.SingleOrDefault(); var confirmationUrl = Url.ConfirmationUrl( MVC.Users.Confirm(), user.Username, user.EmailConfirmationToken, protocol: Request.Url.Scheme); MessageService.SendNewAccountEmail(new MailAddress(user.UnconfirmedEmailAddress, user.Username), confirmationUrl); return(RedirectToAction(MVC.Users.Thanks())); } else if (usersClaimingEmailAddress.Count > 1) { ModelState.AddModelError("Username", "Multiple users registered with your email address. Enter your username in order to resend confirmation email."); } else { ModelState.AddModelError("Email", "There was an issue resending your confirmation token."); } } return(View(model)); }
public virtual ActionResult ResendConfirmation(ResendConfirmationEmailViewModel model) { if (ModelState.IsValid) { var user = userService.FindByUnconfimedEmailAddress(model.Email); if (user != null && !user.Confirmed) { var confirmationUrl = Url.ConfirmationUrl(MVC.Users.Confirm(), user.Username, user.EmailConfirmationToken, protocol: Request.Url.Scheme); messageService.SendNewAccountEmail(new MailAddress(user.UnconfirmedEmailAddress, user.Username), confirmationUrl); return(RedirectToAction(MVC.Users.Thanks())); } ModelState.AddModelError("Email", "There was an issue resending your confirmation token."); } return(View(model)); }
public virtual ActionResult ResendConfirmation(ResendConfirmationEmailViewModel model) { // We don't want Login to have us as a return URL // By having this value present in the dictionary BUT null, we don't put "returnUrl" on the Login link at all ViewData[Constants.ReturnUrlViewDataKey] = null; if (ModelState.IsValid) { var user = UserService.FindByUnconfirmedEmailAddress(model.Email); if (user != null && !user.Confirmed) { var confirmationUrl = Url.ConfirmationUrl( MVC.Users.Confirm(), user.Username, user.EmailConfirmationToken, protocol: Request.Url.Scheme); MessageService.SendNewAccountEmail(new MailAddress(user.UnconfirmedEmailAddress, user.Username), confirmationUrl); return(RedirectToAction(MVC.Users.Thanks())); } ModelState.AddModelError("Email", "There was an issue resending your confirmation token."); } return(View(model)); }
public virtual ActionResult ResendConfirmation(ResendConfirmationEmailViewModel model) { if (ModelState.IsValid) { var user = _userService.FindByUnconfimedEmailAddress(model.Email); if (user != null && !user.Confirmed) { var confirmationUrl = Url.ConfirmationUrl( MVC.Users.Confirm(), user.Username, user.EmailConfirmationToken, protocol: Request.Url.Scheme); _messageService.SendNewAccountEmail(new MailAddress(user.UnconfirmedEmailAddress, user.Username), confirmationUrl); return RedirectToAction(MVC.Users.Thanks()); } ModelState.AddModelError("Email", "There was an issue resending your confirmation token."); } return View(model); }
public virtual ActionResult ResendConfirmation(ResendConfirmationEmailViewModel model) { // We don't want Login to have us as a return URL // By having this value present in the dictionary BUT null, we don't put "returnUrl" on the Login link at all ViewData[Constants.ReturnUrlViewDataKey] = null; if (ModelState.IsValid) { var user = _userService.FindByUnconfirmedEmailAddress(model.Email); if (user != null && !user.Confirmed) { var confirmationUrl = Url.ConfirmationUrl( MVC.Users.Confirm(), user.Username, user.EmailConfirmationToken, protocol: Request.Url.Scheme); _messageService.SendNewAccountEmail(new MailAddress(user.UnconfirmedEmailAddress, user.Username), confirmationUrl); return RedirectToAction(MVC.Users.Thanks()); } ModelState.AddModelError("Email", "There was an issue resending your confirmation token."); } return View(model); }
public virtual ActionResult ResendConfirmation(ResendConfirmationEmailViewModel model) { // We don't want Login to have us as a return URL // By having this value present in the dictionary BUT null, we don't put "returnUrl" on the Login link at all ViewData[Constants.ReturnUrlViewDataKey] = null; if (ModelState.IsValid) { var usersClaimingEmailAddress = UserService.FindByUnconfirmedEmailAddress(model.Email, model.Username); if (usersClaimingEmailAddress.Count == 1) { var user = usersClaimingEmailAddress.SingleOrDefault(); var confirmationUrl = Url.ConfirmationUrl( MVC.Users.Confirm(), user.Username, user.EmailConfirmationToken, protocol: Request.Url.Scheme); MessageService.SendNewAccountEmail(new MailAddress(user.UnconfirmedEmailAddress, user.Username), confirmationUrl); return RedirectToAction(MVC.Users.Thanks()); } else if (usersClaimingEmailAddress.Count > 1) { ModelState.AddModelError("Username", "Multiple users registered with your email address. Enter your username in order to resend confirmation email."); } else { ModelState.AddModelError("Email", "There was an issue resending your confirmation token."); } } return View(model); }