Пример #1
0
        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 { }));
        }
Пример #2
0
        public ICommandResult RecuperarSenha([FromBody] RecuperarSenhaCommand command)
        {
            var result = (CommandResult)_handler.Handle(command);

            return(result);
        }