public ActionResult AlterarSenhaUsuario(AlterarSenhaUsuarioViewModel model) { if (HttpContext.Request.HttpMethod.ToUpper() == "POST") { var usuarioLogado = (HttpContext.User as AplicacaoPrincipal); var alterou = false; usuarioRepositorio = new UsuarioRepositorio(); if (usuarioLogado != null) { if (!usuarioRepositorio.ValidarSenhaAtual(model.SenhaAtual, usuarioLogado.Dados.Id)) { ModelState.AddModelError("SenhaAtual", "A senha atual não confere."); } else { alterou = usuarioRepositorio.AlterarSenha(model.NovaSenha, usuarioLogado.Dados.Id); if (alterou) { ViewBag.Mensagens = new String[] { "ok", "Senha alterada com sucesso." }; } else { ViewBag.Mensagens = new String[] { "erro", "Não foi possível alterar a senha." }; } } } return(View()); } else { ModelState.Clear(); return(View()); } }
public async Task <IActionResult> AlterarSenha( [FromBody, SwaggerParameter("Senha atual, nova senha e confirmação da nova senha.", Required = true)] AlterarSenhaUsuarioViewModel model) { var entrada = new AlterarSenhaUsuarioEntrada(base.ObterEmailUsuarioClaim(), model.Senha, model.SenhaNova, model.ConfirmarSenhaNova); return(new ApiResult(await _usuarioServico.AlterarSenha(entrada))); }
public async Task AlterarSenha(AlterarSenhaUsuarioViewModel alterarSenha) { ContextUserDTO _loggedUser = _facadeAuth.GetLoggedUser(); Usuario _autenticacao = _repository.GetByUserName(_loggedUser.UserName); if (!_autenticacao.IsExpiredPassword()) { SignInResult _senhaAntigaResult = await _signInManager.CheckPasswordSignInAsync(_autenticacao, alterarSenha.SenhaAntiga, false); if (!_senhaAntigaResult.Succeeded) { throw new ApiException(ApiErrorCodes.SENANTINV, nameof(alterarSenha.SenhaAntiga)); } } await ValidatePassword(alterarSenha.NovaSenha, alterarSenha.ConfirmacaoNovaSenha, _autenticacao); IdentityResult changePasswordResult = await _userManager.ChangePasswordAsync(_autenticacao, alterarSenha.SenhaAntiga, alterarSenha.NovaSenha); _autenticacao.SetUnexpirablePassword(); if (!changePasswordResult.Succeeded || !_uow.Commit()) { throw new ApiException(ApiErrorCodes.ERALTSEIDNT); } }
public async Task <IActionResult> AlterarSenha(AlterarSenhaUsuarioViewModel alterarSenha) { await _service.AlterarSenha(alterarSenha); return(Ok()); }