public ICommandResult Handle(RecuperarSenhaCommand command) { if (!command.IsValidCommand()) { return(new CommandResult(false, "Por favor, corrigir os campos abaixo", command.Notifications)); } var usuario = _repository.UsuarioBase(command.Email); if (usuario == null) { return(new CommandResult(false, $"O usuario não existe na base de dados. E-mail informado: { command.Email }", new { })); } var senhaNova = usuario.Login.GerarSenha(); var senhaNovaCriptografada = usuario.Login.EncriptarSenha(senhaNova); _repository.ConfigurarSenhaTemporaria(usuario.Id, senhaNovaCriptografada); _service.RecuperarSenha(usuario.Email.Email, senhaNova); return(new CommandResult(true, $"Um e-mail contendo uma nova senha temporária (válido por apenas 1 dia) foi enviado para o endereço: { usuario.Email.Email }", new { })); }
public ICommandResult RecuperarSenha([FromBody] RecuperarSenhaCommand command) { var result = (CommandResult)_handler.Handle(command); return(result); }