public async Task <ActionResult> ChangeEmail(UserChangeEmailViewModel model) { if (ModelState.IsValid) { var user = AspUserManager.FindById(User.Identity.GetUserId()); user.Email = model.Email; user.EmailConfirmed = false; user.UserName = model.Email; var result = await AspUserManager.UpdateAsync(user); if (result.Succeeded) { //TODO: Wysłać email z potwierdzeniem if (user != null) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); } return(RedirectToAction("Index", new { Message = ManageMessageId.ChangeEmailSuccess })); } else { return(RedirectToAction("Index", new { Message = ManageMessageId.Error })); } } else { return(View()); } }
public async Task <IActionResult> ChangeEmail(UserChangeEmailViewModel model) { if (ModelState.IsValid) { var isEmailTaken = await _accountService.IsEmailTakenAsync(model.Email); if (!isEmailTaken) { await _accountService.ChangeEmailAsync(model.Email); return(Json(new { success = true, responseText = "Your message successfuly sent!" })); } if (isEmailTaken) { ModelState.AddModelError("Email", "Email is Taken"); } } return(PartialView("_ChangeEmail", model)); }