예제 #1
0
        public async Task <Resposta <Usuario> > Handle(CriarUsuarioComando request, CancellationToken cancellationToken)
        {
            var erros = _validador.Validar(request);

            if (!string.IsNullOrEmpty(erros))
            {
                return(new Resposta <Usuario>(erros));
            }

            var usuario = new Usuario
            {
                Ativo        = request.Ativo,
                Email        = request.Email,
                Foto         = request.Foto,
                Login        = request.Login,
                Nome         = request.Nome,
                PerfilCodigo = request.PerfilCodigo,
                Telefone     = request.Telefone,
                CursoCodigo  = request.CursoCodigo
            };

            string senha = SenhaHelper.Gerar();

            usuario.Senha = senha.ToMD5();

            await EnviarEmailConfirmacaoCadastro(usuario.Email, usuario.Login, senha);

            var usuarioCadastrado = await _repositorio.Criar(usuario);

            return(new Resposta <Usuario>(usuarioCadastrado));
        }
예제 #2
0
        public async Task<Resposta<string>> Handle(RedefinirSenhaComando request, CancellationToken cancellationToken)
        {

            var erros = _validador.Validar(request);

            if (!string.IsNullOrEmpty(erros))
                return new Resposta<string>(null, erros);

            var email = request.Email;
            var usuario = await _repositorio.Consultar(lnq => lnq.Email.Equals(email));

            string senha = SenhaHelper.Gerar();
            usuario.Senha = senha.ToMD5();
            await _repositorio.Atualizar(usuario);

            string mensagem = mensagem = $@"Sua senha no SGH foi redefinida com sucesso! <br>
                                Usuário: {usuario.Login}<br>
                                Senha: {senha}<br>
                                click <a>aqui</a> para acessar o sistema.";

            await _emailService.Enviar(usuario.Email, "Redefinição de senha no SGH", mensagem);

            return new Resposta<string>("Senha redefinida com sucesso! Foi enviado um e-mail com seus dados de acesso.", "");
        }