public async Task <IActionResult> ConfirmEmail(string userId, string code) { if (userId == null || code == null) { return(RedirectToAction(nameof(AccountController.Login), "Account")); } var user = await _userManager.FindByIdAsync(userId); if (user == null) { throw new ApplicationException($"Não foi encontrado o Usuário com ID: '{userId}'."); } var result = await _userManager.ConfirmEmailAsync(user, code); if (!result.Succeeded) { throw new ApplicationException($"Erro ao confirmar conta do Usuário com ID: '{userId}'."); } var confirm = new AspNetUserUpdade().DateAccountConfirm(user.Id); if (confirm != null) { throw new ApplicationException($"Erro ao confirmar conta do Usuário com ID: \"{userId}\" - Erro: { confirm.Value }."); } return(View(result.Succeeded ? "ConfirmEmail" : "Error")); }
public async Task <IActionResult> Index(IndexViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = await _userManager.GetUserAsync(User); if (user == null) { model.StatusMessage = "Usuário não encontrado"; return(View(model)); } var email = user.Email; if (model.Email != email) { var setEmailResult = await _userManager.SetEmailAsync(user, model.Email.ToLower()); if (!setEmailResult.Succeeded) { model.StatusMessage = "Erro ao setar e-mail"; return(View(model)); } } var retorno = new AspNetUserUpdade().Save(UserId, model); if (!retorno.Valido) { foreach (var item in retorno.Mensagens) { ModelState.AddModelError(string.Empty, item); } model.StatusMessage = "Erro ao alterar dados do usuário"; return(View(model)); } StatusMessage = "Perfil alterado com sucesso!"; return(RedirectToAction(nameof(Index))); }