Exemplo n.º 1
0
        public async Task <Guid> GerarNovoCodigoConfirmacao(string enderecoEmail)
        {
            var usuario = await _usuarioRepository.ObterUsuarioPorEmail(enderecoEmail);

            if (usuario == null)
            {
                Notificar("Um erro aconteceu, verique o e-mail e tente novamente");
                return(Guid.Empty);
            }

            await DesativarCodigosAtivoUsuario(usuario.Id);

            var confirmacaoUsuario = new UsuarioConfirmacao(usuario.Id);

            var resultado = await _usuarioRepository.AdicionarConfirmacaoUsuario(confirmacaoUsuario);

            if (resultado)
            {
                var mensagemCodigoEnvio = confirmacaoUsuario.Codigo.ObterMensagemEmailEnvioCodigo();

                var email = new Email(mensagemCodigoEnvio.titulo, enderecoEmail, mensagemCodigoEnvio.mensagem);

                await _emailService.EnviarEmail(email);
            }

            return(usuario.Id);
        }
Exemplo n.º 2
0
        public async Task Handle(CodigoConfirmacaoEvent message, CancellationToken cancellationToken)
        {
            var result = await _usuarioRepository
                         .AdicionarConfirmacaoUsuario(message.UsuarioConfirmacao);

            if (result)
            {
                var titulo   = $"Seja bem-vindo {message.NomeUsuario}";
                var mensagem = $"Código de confirmação: {message.UsuarioConfirmacao.Codigo}";

                var email = new Email(titulo, message.Email, mensagem);
                await _emailService.EnviarEmail(email);
            }
        }