Esempio n. 1
0
        public ICollection <Email> RealizarProcessamentoGerarEmails(IFormatadorEmailServiceFactory formatadorFactory)
        {
            if (StatusProcessamentoEtapa != EStatusProcessamentoEtapa.Processando)
            {
                throw new CustomException("O processamento de uma etapa só pode ocorrer quando o status for igual a 'Processando'.");
            }

            try
            {
                IFormatadorEmailService formatador = ObterFomatadorEmail(formatadorFactory);
                ICollection <Email>     emails     = new List <Email>();
                if (formatador != null)
                {
                    emails = formatador.FormatarEmails().SelectMany(e => e.DividirDestinatarios()).ToList();
                }

                FinalizarProcessamento(EStatusProcessamentoEtapa.ProcessadoComSucesso);
                return(emails);
            }
            catch (Exception e)
            {
                var mensagem = $"Erro ao processar mudança de etapa/envio de e-mail. Contate o suporte.\r\n{e.Message}";
                FinalizarProcessamento(EStatusProcessamentoEtapa.ErroProcessamento, mensagem);
                return(new List <Email>());
            }
        }
Esempio n. 2
0
        private IFormatadorEmailService ObterFomatadorEmail(IFormatadorEmailServiceFactory formatadorFactory)
        {
            switch (EtapaCronograma.EtapaObrigatoriaId)
            {
            case (ECodigoEtapaObrigatoria.Convocacao):
                if (Eleicao.Configuracao.EnvioEditalConvocao)
                {
                    return(formatadorFactory.ObterFormatadorEmailParaComunicadosGeraisProcessamentoEtapa(ETipoTemplateEmail.EditalConvocacao, Eleicao));
                }
                break;

            case (ECodigoEtapaObrigatoria.Inscricao):
                if (Eleicao.Configuracao.EnvioConviteInscricao)
                {
                    return(formatadorFactory.ObterFormatadorEmailParaComunicadosGeraisProcessamentoEtapa(ETipoTemplateEmail.ConviteParaInscricao, Eleicao));
                }
                break;

            case (ECodigoEtapaObrigatoria.Votacao):
                if (Eleicao.Configuracao.EnvioConviteVotacao)
                {
                    return(formatadorFactory.ObterFormatadorEmailParaComunicadosGeraisProcessamentoEtapa(ETipoTemplateEmail.ConviteParaVotacao, Eleicao));
                }
                break;

            default:
                return(null);
            }
            return(null);
        }
Esempio n. 3
0
 public UsuarioAppService(
     IUnitOfWork unitOfWork,
     IFormatadorEmailServiceFactory formatadorFactory,
     EmailConfiguration emailConfiguration) : base(unitOfWork, unitOfWork.UsuarioRepository)
 {
     _formatadorFactory  = formatadorFactory;
     _emailConfiguration = emailConfiguration;
 }
Esempio n. 4
0
 public EleicaoAppService(
     IUnitOfWork unitOfWork,
     IArquivoAppService arquivoAppService,
     IFormatadorEmailServiceFactory formatadorFactory,
     EmailConfiguration emailConfiguration,
     IExcelService excelService) : base(unitOfWork, unitOfWork.EleicaoRepository)
 {
     _arquivoAppService  = arquivoAppService;
     _formatadorFactory  = formatadorFactory;
     _emailConfiguration = emailConfiguration;
     _excelService       = excelService;
 }
Esempio n. 5
0
 public ProcessamentoEtapaAppService(IUnitOfWork unitOfWork, EmailConfiguration emailConfiguration, IFormatadorEmailServiceFactory formatadorEmail) : base(unitOfWork, unitOfWork.ProcessamentoEtapaRepository)
 {
     _emailConfiguration = emailConfiguration;
     _formatadorEmail    = formatadorEmail;
 }