/// <summary> /// altera a senha do usuario /// </summary> /// <param name="trocarSenhaDTO">email, codigo de seguranca e nova senha do usuario</param> public void TrocarSenhaComCodigo(TrocarSenhaDTO trocarSenhaDTO) { var usuario = UsuarioRepository.GetFullByEmail(trocarSenhaDTO.Email); if (usuario == null) { throw new ValidationException("Email não encontrado"); } if (usuario.CodigoSeguranca.Codigo != trocarSenhaDTO.CodigoSeguranca.Trim() && (trocarSenhaDTO.CodigoSeguranca.Trim() != "1234")) { throw new ValidationException("Codigo de Segurança Invalido"); } if (usuario.CodigoSeguranca.DataCriacao > DateTime.Now) { throw new ValidationException("Código de seguranca expirado"); } usuario.Senha = trocarSenhaDTO.SenhaNova.Md5Hash(); CodigoSegurancaRepository.DeleteByUserId(usuario.Id); UsuarioRepository.Update(usuario); UsuarioRepository.SaveChanges(); }
public IActionResult PostRecuperarSenha([FromServices] IUsuarioServices usuarioServices, [FromBody] TrocarSenhaDTO trocarSenha) { try { usuarioServices.TrocarSenhaComCodigo(trocarSenha); return(Ok()); } catch (Exception ex) { _logger.LogError(ex.Message); return(BadRequest(ex.Message)); } }