Example #1
0
 private void NotificarCliente(MensagemPublica mensagem)
 {
     _servicoDeEmail.EnviarEmail(
         _configuration["Email:Remetente"],
         _configuration["Email:Senha"],
         mensagem.ContatoCliente.Endereco,
         ConstruirAssuntoEmail(),
         ConstruirCorpoEmail(mensagem)
         );
 }
Example #2
0
        public async Task <RespostaCasoDeUso> Handle(NotificarClienteSobreEventoCommand request, CancellationToken cancellationToken)
        {
            var processo = await Context
                           .ProcessosJuridicos
                           .Include(p => p.Eventos)
                           .Include(p => p.Cliente)
                           .ThenInclude(c => c.Email)
                           .FirstOrDefaultAsync(p =>
                                                p.Codigo == request.CodigoProcesso &&
                                                p.CodigoEscritorio == ServicoUsuarios.EscritorioAtual.Codigo &&
                                                !p.Apagado
                                                );

            var evento = processo?.Eventos?.FirstOrDefault(e => e.Codigo == request.CodigoEvento);

            if (processo == null || evento == null)
            {
                return(RespostaCasoDeUso.ComStatusCode(HttpStatusCode.NotFound));
            }

            if (processo.Cliente.Email == null || processo.Cliente.Email.Endereco == null)
            {
                return(RespostaCasoDeUso.ComFalha("O cliente não possui e-mail cadastrado"));
            }

            bool sucessoNoEnvioDeEmail = await _servicoEmail.EnviarEmail(
                _configuration["Email:Remetente"],
                _configuration["Email:Senha"],
                processo.Cliente.Email.Endereco,
                ConstruirAssuntoEmail(),
                ConstruirCorpoEmail(processo, evento)
                );

            if (!sucessoNoEnvioDeEmail)
            {
                return(RespostaCasoDeUso.ComStatusCode(HttpStatusCode.InternalServerError));
            }

            return(RespostaCasoDeUso.ComSucesso());
        }