예제 #1
0
 public LogEmailInfo(EmailInfo pParametro, eTipoEmailDisparo pTipoEmailDisparo)
 {
     this.Assunto           = pParametro.Assunto;
     this.CorpoMensagem     = pParametro.CorpoMensagem;
     this.Destinatarios     = pParametro.Destinatarios;
     this.Remetente         = pParametro.Remetente;
     this.DtEnvio           = DateTime.Now;
     this.ETipoEmailDisparo = pTipoEmailDisparo;
 }
예제 #2
0
        private EmailDisparadoPeriodoInfo GerarRequest()
        {
            DateTime          lDataInicial       = default(DateTime);
            DateTime          lDataFinal         = default(DateTime);
            eTipoEmailDisparo lTipoEmail         = eTipoEmailDisparo.Todos;
            String            lEmailDestinatario = String.Empty;
            String            lTipoPessoa        = String.Empty;
            Int32             lCodCliente        = 0;
            String            lCpfCnpj           = String.Empty;

            DateTime.TryParse(this.Request["DataInicial"], out lDataInicial);
            DateTime.TryParse(this.Request["DataFinal"], out lDataFinal);


            var lTipo = this.Request["TipoEmail"];

            if (lTipo.Equals("1"))
            {
                lTipoEmail = eTipoEmailDisparo.Assessor;
            }

            if (lTipo.Equals("2"))
            {
                lTipoEmail = eTipoEmailDisparo.Compliance;
            }


            if (!string.IsNullOrWhiteSpace(this.Request["EmailDisparado"]))
            {
                lEmailDestinatario = this.Request["EmailDisparado"];
            }


            if (!string.IsNullOrWhiteSpace(this.Request["TipoPessoa"]))
            {
                lTipoPessoa = this.Request["TipoPessoa"];
            }

            Int32.TryParse(this.Request["CodCliente"], out lCodCliente);

            if (!string.IsNullOrWhiteSpace(this.Request["CpfCnpj"]))
            {
                lCpfCnpj = this.Request["CpfCnpj"];
            }

            return(new EmailDisparadoPeriodoInfo()
            {
                DtDe = lDataInicial,
                DtAte = lDataFinal,
                ETipoEmailDisparo = lTipoEmail,
                DsEmailDestinatario = lEmailDestinatario,
                TipoPessoa = lTipoPessoa,
                IdCliente = lCodCliente,
                DsCpfCnpj = lCpfCnpj
            });
        }
예제 #3
0
 public LogEmailInfo(EmailInfo pParametro, eTipoEmailDisparo pTipoEmailDisparo, Nullable <int> pIdCliente, String pPerfil)
 {
     this.Assunto           = pParametro.Assunto;
     this.CorpoMensagem     = pParametro.CorpoMensagem;
     this.Destinatarios     = pParametro.Destinatarios;
     this.Remetente         = pParametro.Remetente;
     this.DtEnvio           = DateTime.Now;
     this.ETipoEmailDisparo = pTipoEmailDisparo;
     this.IdCliente         = pIdCliente;
     this.Perfil            = pPerfil;
 }
예제 #4
0
        public void EnviarEmail(string pDestinatario, string pAssunto, string pNomeArquivo, Dictionary <string, string> pVariaveisEmail, eTipoEmailDisparo pTipoEmailDisparo, List <Gradual.OMS.Email.Lib.EmailAnexoInfo> pAnexos = null)
        {
            try
            {
                string lCorpoDoEmail = File.ReadAllText(Server.MapPath(string.Format("Resc/{0}", pNomeArquivo)));

                List <string> lDestinatarios = new List <string>();

                lDestinatarios.Add(pDestinatario);

                IServicoEmail lServico = Ativador.Get <IServicoEmail>();

                EnviarEmailRequest  lRequest = new EnviarEmailRequest();
                EnviarEmailResponse lResponse;

                lRequest.Objeto               = new EmailInfo();
                lRequest.Objeto.Assunto       = pAssunto;
                lRequest.Objeto.Destinatarios = lDestinatarios;
                lRequest.Objeto.Remetente     = ConfigurationManager.AppSettings["EmailRemetenteGradual"];
                lRequest.Objeto.CorpoMensagem = lCorpoDoEmail;

                if (pAnexos != null)
                {
                    foreach (var lItem in pAnexos)
                    {
                        lRequest.Objeto.Anexos.Add(lItem);
                    }
                }

                lResponse = lServico.Enviar(lRequest);

                if (lResponse.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    Logger.InfoFormat("Email enviado com sucesso para [{0}]", pDestinatario);
                }
                else
                {
                    Logger.ErrorFormat("Resposta com erro do serviço de email [{0}] [{1}]", lResponse.StatusResposta, lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                Logger.ErrorFormat("Erro ao enviar email [{0}]\r\n{1}", ex.Message, ex.StackTrace);
            }
        }
예제 #5
0
        private MensagemResponseStatusEnum EnviarEmail(List <string> pDestinatarios, string pAssunto, string pCorpoEmail, eTipoEmailDisparo pTipoEmailDisparo, List <Gradual.OMS.Email.Lib.EmailAnexoInfo> pAnexos = null)
        {
            var lAtivador = Ativador.Get <IServicoEmail>();

            if (lAtivador != null)
            {
                var lEmailEntrada = new EnviarEmailRequest();
                lEmailEntrada.Objeto               = new EmailInfo();
                lEmailEntrada.Objeto.Assunto       = pAssunto;
                lEmailEntrada.Objeto.Destinatarios = pDestinatarios;
                lEmailEntrada.Objeto.Remetente     = ConfigurationManager.AppSettings["EmailRemetenteGradual"].ToString();
                lEmailEntrada.Objeto.CorpoMensagem = pCorpoEmail;

                if (pTipoEmailDisparo.Equals(eTipoEmailDisparo.Compliance))
                {
                    //if (pTipoEmailDisparo.Equals(eTipoEmailDisparo.Compliance))
                    //{
                    lEmailEntrada.Objeto.DestinatariosCO = new List <string>()
                    {
                        ConfiguracoesValidadas.EmailComCopiaOculta
                    };
                    //}
                }

                if (null != pAnexos)
                {
                    foreach (var item in pAnexos)
                    {
                        lEmailEntrada.Objeto.Anexos.Add(item);
                    }
                }

                EnviarEmailResponse lEmailRetorno = lAtivador.Enviar(lEmailEntrada);


                if (MensagemResponseStatusEnum.OK.Equals(lEmailRetorno.StatusResposta))
                {
                    ServicoPersistencia.SalvarObjeto <LogEmailInfo>(new SalvarObjetoRequest <LogEmailInfo>()
                    {
                        Objeto = new LogEmailInfo(lEmailEntrada.Objeto, pTipoEmailDisparo)
                    });
                }

                return(lEmailRetorno.StatusResposta);
            }
            else
            {
                throw new Exception("Ativador nulo ao enviar email. Provável erro de configuração, verificar entradas para 'TipoDeObjetoAtivador' e seção de config para 'IServicoEmail'");
            }
        }
예제 #6
0
        private MensagemResponseStatusEnum EnviarEmail(string pDestinatario, string pAssunto, string pCorpoEmail, eTipoEmailDisparo pTipoEmailDisparo, List <Gradual.OMS.Email.Lib.EmailAnexoInfo> pAnexos = null)
        {
            var lDestinatarios = new List <string>();

            if (pDestinatario.Contains(';'))
            {
                string[] lItems = pDestinatario.Split(';');

                lDestinatarios.AddRange(lItems);
            }
            else
            {
                lDestinatarios.Add(pDestinatario);
            }

            return(this.EnviarEmail(lDestinatarios, pAssunto, pCorpoEmail, pTipoEmailDisparo, pAnexos));
        }
예제 #7
0
        public MensagemResponseStatusEnum EnviarEmail(string pDestinatario, string pAssunto, string pNomeArquivo, Dictionary <string, string> pVariaveisEmail, eTipoEmailDisparo pTipoEmailDisparo, List <Gradual.OMS.Email.Lib.EmailAnexoInfo> pAnexos = null)
        {
            using (var lStreamReader = File.OpenText(this.Server.MapPath(string.Concat("~/Extras/Emails/", pNomeArquivo)))) //--> Carregando o arquivo num StreamReader
            {
                var lStringBuilder = new System.Text.StringBuilder(lStreamReader.ReadToEnd());                              //--> Convertendo o arquivo html em texto.

                foreach (KeyValuePair <string, string> item in pVariaveisEmail)
                {
                    lStringBuilder.Replace(item.Key, item.Value); //--> Substituindo as variáveis do conteúdo do e-mail.
                }
                return(this.EnviarEmail(pDestinatario, pAssunto, lStringBuilder.ToString(), pTipoEmailDisparo, pAnexos));
            }
        }
예제 #8
0
        public MensagemResponseStatusEnum EnviarEmailSuitability(Nullable <int> pIdCliente, String pPerfil, List <String> pDestinatarios, string pAssunto, string pNomeArquivo, Dictionary <string, string> pVariaveisEmail, eTipoEmailDisparo pTipoEmailDisparo, List <Gradual.OMS.Email.Lib.EmailAnexoInfo> pAnexos = null)
        {
            using (var lStreamReader = File.OpenText(this.Server.MapPath(string.Concat("~/Extras/Emails/", pNomeArquivo)))) //--> Carregando o arquivo num StreamReader
            {
                var lStringBuilder = new System.Text.StringBuilder(lStreamReader.ReadToEnd());                              //--> Convertendo o arquivo html em texto.

                foreach (KeyValuePair <string, string> item in pVariaveisEmail)
                {
                    lStringBuilder.Replace(item.Key, item.Value); //--> Substituindo as variáveis do conteúdo do e-mail.
                }
                var lAtivador = Ativador.Get <IServicoEmail>();

                if (lAtivador != null)
                {
                    var lEmailEntrada = new EnviarEmailRequest();
                    lEmailEntrada.Objeto               = new EmailInfo();
                    lEmailEntrada.Objeto.Assunto       = pAssunto;
                    lEmailEntrada.Objeto.Destinatarios = pDestinatarios;
                    lEmailEntrada.Objeto.Remetente     = ConfigurationManager.AppSettings["EmailRemetenteGradual"].ToString();
                    lEmailEntrada.Objeto.CorpoMensagem = lStringBuilder.ToString();

                    if (pTipoEmailDisparo.Equals(eTipoEmailDisparo.Compliance))
                    {
                        lEmailEntrada.Objeto.DestinatariosCO = new List <string>()
                        {
                            ConfiguracoesValidadas.EmailComCopiaOculta
                        };
                    }

                    if (null != pAnexos)
                    {
                        foreach (var item in pAnexos)
                        {
                            lEmailEntrada.Objeto.Anexos.Add(item);
                        }
                    }

                    EnviarEmailResponse lEmailRetorno = lAtivador.Enviar(lEmailEntrada);


                    if (MensagemResponseStatusEnum.OK.Equals(lEmailRetorno.StatusResposta))
                    {
                        ServicoPersistencia.SalvarObjeto <LogEmailInfo>(new SalvarObjetoRequest <LogEmailInfo>()
                        {
                            Objeto = new LogEmailInfo(lEmailEntrada.Objeto, pTipoEmailDisparo, pIdCliente, pPerfil)
                        });
                    }

                    return(lEmailRetorno.StatusResposta);
                }
                else
                {
                    throw new Exception("Ativador nulo ao enviar email. Provável erro de configuração, verificar entradas para 'TipoDeObjetoAtivador' e seção de config para 'IServicoEmail'");
                }
            }
        }