예제 #1
0
        private void EnviarNotificacaoInscricao(Inscricao inscricao, ETipoTemplateEmail tipoTemplate)
        {
            var formatador = _formatadorFactory.ObterFormatadorEmailParaNotificacoesInscricoes(tipoTemplate, inscricao);

            foreach (var email in formatador.FormatarEmails())
            {
                _unitOfWork.EmailRepository.Adicionar(email);
            }
        }
예제 #2
0
        private void EnviarEmail(Usuario usuario, ETipoTemplateEmail tipoTemplate)
        {
            var formatador = _formatadorFactory.ObterFormatadorEmailParaAcesso(tipoTemplate, usuario);

            foreach (var email in formatador.FormatarEmails())
            {
                _unitOfWork.EmailRepository.Adicionar(email);
            }
        }
예제 #3
0
        protected virtual TemplateEmail BuscarTemplateEmail(ETipoTemplateEmail tipoTemplateEmail)
        {
            var template = Eleicao.Conta.BuscarTemplateEmail(tipoTemplateEmail);

            if (template == null)
            {
                throw new CustomException("Template de e-mail não localizado.");
            }
            return(template);
        }
예제 #4
0
        public IFormatadorEmailService ObterFormatadorEmailParaAcesso(ETipoTemplateEmail tipoTemplate, Usuario usuario)
        {
            switch (tipoTemplate)
            {
            case ETipoTemplateEmail.CadastroSESMT:
                return(new LinkCadastroService(usuario));

            case ETipoTemplateEmail.ResetSenha:
                return(new ResetSenhaService(usuario));

            default:
                throw new CustomException("Formatador de e-mail não registrado!");
            }
        }
예제 #5
0
        public IFormatadorEmailService ObterFormatadorEmailParaNotificacoesInscricoes(ETipoTemplateEmail tipoTemplate, Inscricao inscricao)
        {
            switch (tipoTemplate)
            {
            case ETipoTemplateEmail.InscricaoRealizada:
                return(new NotificacaoInscricaoRealizadaService(inscricao));

            case ETipoTemplateEmail.InscricaoAprovada:
                return(new NotificacaoInscricaoAprovadaService(inscricao));

            case ETipoTemplateEmail.InscricaoReprovada:
                return(new NotificacaoInscricaoReprovadaService(inscricao));

            case ETipoTemplateEmail.ReanaliseInscricao:
                return(new NotificacaoInscricaoEmReanaliseService(inscricao));

            default:
                throw new CustomException("Formatador de e-mail não registrado!");
            }
        }
예제 #6
0
        public IFormatadorEmailService ObterFormatadorEmailParaComunicadosGeraisProcessamentoEtapa(ETipoTemplateEmail comunicado, Eleicao eleicao)
        {
            switch (comunicado)
            {
            case ETipoTemplateEmail.ConviteParaInscricao:
                return(new ConviteInscricaoFormatadorService(eleicao));

            case ETipoTemplateEmail.ConviteParaVotacao:
                return(new ConviteVotacaoFormatadorService(eleicao));

            case ETipoTemplateEmail.EditalConvocacao:
                return(new EditalConvocacaoFormatadorService(eleicao));

            case ETipoTemplateEmail.ErroMudancaEtapaCronograma:
                return(new ComunicadoErroMudancaEtapaService(eleicao));

            case ETipoTemplateEmail.SucessoMudancaEtapaCronograma:
                return(new ComunicadoSucessoMudancaEtapaService(eleicao));

            default:
                throw new CustomException("Formatador de e-mail não registrado!");
            }
        }
예제 #7
0
 public TemplateEmail(ETipoTemplateEmail tipoTemplateEmail, string assunto)
 {
     TipoTemplateEmail = tipoTemplateEmail;
     Assunto           = assunto;
 }