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); }
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); } }