コード例 #1
0
        public async Task <EnviarEmailResponse> EnviarEmailOffline(EnviarEmailRequest request)
        {
            var response = new EnviarEmailResponse();

            var handler = new HttpClientHandler();

            //handler.ClientCertificates.Add(CertificadoRequisicao.Obter(this._dadosBhn.Certificado));

            using (var httpClient = new HttpClient(handler))
            {
                var enviarEmailUrl = this._dadosUtilitario.RotaEnviarEmailOffline;

                httpClient.BaseAddress = new Uri(this._dadosUtilitario.HttpAddress);
                httpClient.DefaultRequestHeaders.Accept.Clear();

                var enviarEmailRequest = new HttpRequestMessage(HttpMethod.Post, httpClient.BaseAddress + enviarEmailUrl);
                enviarEmailRequest.Headers.TryAddWithoutValidation("Authorization", this._dadosUtilitario.Authorization);
                //enviarEmailRequest.Headers.Add("X-SecurityAccess", "External");

                using (var content = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"))
                {
                    enviarEmailRequest.Content = content;
                    var enviarEmailResponse = await httpClient.SendAsync(enviarEmailRequest);

                    var responseString = await enviarEmailResponse.Content.ReadAsStringAsync();

                    var responseObject = JsonConvert.DeserializeObject <EnviarEmailResponse>(responseString);

                    return(responseObject);
                }
            }
        }
コード例 #2
0
        public void EnviaNotificacaoArquivoProntoImportacao()
        {
            var lServico = Ativador.Get <IServicoEmail>();

            try
            {
                StreamReader lStream = new StreamReader(Path.Combine(ConfigurationManager.AppSettings["pathArquivoEmailAviso"].ToString(), "NotificacaoGeracaoArquivo.txt"));

                string lCorpoEmail = lStream.ReadToEnd();

                string lNomeArquivo = "CCOU" + DateTime.Now.ToString("MMdd") + ".DAT";

                string lPathArquivoCobranca = Path.Combine(ConfigurationManager.AppSettings["pathArquivoCobranca"].ToString(), DateTime.Now.ToString("yyyy"), lNomeArquivo);

                var lEmail = new EnviarEmailRequest();

                lEmail.Objeto = new EmailInfo();

                lEmail.Objeto.Assunto = "Notificação de arquivo pronto para importação";

                lEmail.Objeto.Destinatarios = new List <string>()
                {
                    ConfigurationManager.AppSettings["EmailDestinatarioNotificacaoArquivo"].ToString()
                };

                lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacaoArquivo"].ToString();

                lEmail.Objeto.CorpoMensagem = lCorpoEmail.Replace("##ARQUIVO##", lNomeArquivo);

                EmailAnexoInfo lAnexo = new EmailAnexoInfo()
                {
                    Arquivo = StreamArquivoImportacao(lPathArquivoCobranca),
                    Nome    = lNomeArquivo
                };

                lEmail.Objeto.Anexos = new List <EmailAnexoInfo>()
                {
                    lAnexo
                };

                logger.InfoFormat("Entrou no método de EnviarEmailAviso");

                EnviarEmailResponse lResponse = lServico.Enviar(lEmail);

                if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK))
                {
                    logger.Info("Email disparado com sucesso");
                }
                else
                {
                    logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} ", lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Erro no método de EnviarEmailAviso - Descrição: {0} - Stacktrace: {1}", ex.Message, ex.StackTrace);
            }
        }
コード例 #3
0
ファイル: PaginaBase.cs プロジェクト: radtek/Gradual
        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'");
                }
            }
        }
コード例 #4
0
        private void btnGerarHistorico_Click(object sender, EventArgs e)
        {
            try
            {
                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                EnviarEmailRequest request = new EnviarEmailRequest();

                EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_RISCO);
                request.DadosEmail = dadosEmail.Lista[IDEMAIL_RISCO];

                var listaSelecionados =
                    from InformacoesClienteInfo lstcli in ListaDevedores
                    orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending
                where lstcli.Selecionado == true
                select lstcli;

                request.ListaClientes = listaSelecionados.ToList();

                if (request.ListaClientes.Count > 0)
                {
                    if (!EmailTestePara.Equals(""))
                    {
                        request.DadosEmail.EmailPara = EmailTestePara;
                    }
                    if (!EmailTesteCopia.Equals(""))
                    {
                        request.DadosEmail.EmailCopia = EmailTesteCopia;
                    }
                    if (!EmailTesteCopiaOculta.Equals(""))
                    {
                        request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                    }

                    EnviarEmailResponse resp = serv.EnviarEmailRisco(request);
                    if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                    {
                        MessageBox.Show("E-mail enviado com sucesso!", "Histórico Movimento",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("FALHA NO ENVIO DO E-MAIL!", "Histórico Movimento",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = "Enviar E-Mail: " + ex.Message;
                MessageBox.Show(msg, "Histórico Movimento", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #5
0
        private void btnEnviarEmail_Click(object sender, EventArgs e)
        {
            try
            {
                EnviarEmailRequest request = new EnviarEmailRequest();

                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_TESOURARIA);
                request.DadosEmail = dadosEmail.Lista[IDEMAIL_TESOURARIA];

                var listaSelecionados =
                    from InformacoesClienteInfo lstcli in ListaDevedoresFiltrada
                    orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending
                where lstcli.Selecionado == true
                select lstcli;

                request.ListaClientes = listaSelecionados.ToList();

                if (request.ListaClientes.Count > 0)
                {
                    if (!EmailTestePara.Equals(""))
                    {
                        request.DadosEmail.EmailPara = EmailTestePara;
                    }
                    if (!EmailTesteCopia.Equals(""))
                    {
                        request.DadosEmail.EmailCopia = EmailTesteCopia;
                    }
                    if (!EmailTesteCopiaOculta.Equals(""))
                    {
                        request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                    }

                    EnviarEmailResponse resp = serv.EnviarEmailTesouraria(request);
                    if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                    {
                        MessageBox.Show("Notificação enviada com sucesso!", "Notificar Tesouraria",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("FALHA NO ENVIO DA NOTIFICAÇÃO!", "Notificar Tesouraria",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = "Enviar E-Mail: " + ex.Message;
                MessageBox.Show(msg, "Notificar Tesouraria", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #6
0
ファイル: PaginaBase.cs プロジェクト: radtek/Gradual
        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'");
            }
        }
コード例 #7
0
        /// <summary>
        /// Envia e-mail para o cliente para com a notificação de ativação do plano
        /// </summary>
        private void EnviaNotificacaoAtivacaoPlanoCliente(PlanoClienteInfo info)
        {
            try
            {
                var lServico = Ativador.Get <IServicoEmail>();

                logger.InfoFormat("Conseguiu instanciar o serviço Ativador.Get<IServicoEmail>");

                StreamReader lStream = new StreamReader(Path.Combine(ConfigurationManager.AppSettings["pathArquivoEmailNotificacao"].ToString(), "EmailNotificacaoAtivacaoPlano.txt"));

                string lCorpoEmail = lStream.ReadToEnd();

                var lEmail = new EnviarEmailRequest();

                lEmail.Objeto = new EmailInfo();

                lEmail.Objeto.Assunto = "Notificação de ativação do DirectTrade";

                lEmail.Objeto.Destinatarios = new List <string>();

                lEmail.Objeto.Destinatarios.Add(info.DsEmail);

                logger.InfoFormat(string.Format("Enviando e-mail de notificação de ativação de plano para para {0}", info.DsEmail));

                lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacao"].ToString();

                lEmail.Objeto.CorpoMensagem = lCorpoEmail.Replace("###NOME###", info.NomeCliente);

                logger.InfoFormat("Entrou no método de EnviaEmailAvisoPlanoCliente");

                EnviarEmailResponse lResponse = lServico.Enviar(lEmail);

                if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK))
                {
                    logger.Info("Email disparado com sucesso");
                }
                else
                {
                    logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} ", lResponse.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Erro em EnviaEmailAvisoPlanoCliente  - {0} - StackTrace - {1}", ex.Message, ex.StackTrace);
            }
        }
コード例 #8
0
        public void EnviarEmail(ClienteGarantiaRequest request)
        {
            StringBuilder _EmailBuilder = new StringBuilder();

            try
            {
                _EmailBuilder.Append("<P> SEGUE ABAIXO E-MAIL REFERENTE A ALOCAÇÃO DE ATIVO PARA COBERTURA DE OPERAÇÃO A TERMO </P>");


                _EmailBuilder.Append("<BR>");
                _EmailBuilder.Append("-------------  [SOLICITACAO DE TRANSFERENCIA DE CARTEIRA PARA COBERTURA DE OPERAÇÃO A TERMO] ------------- <BR>");
                _EmailBuilder.Append("<B> Horario da solicitação </B>       : " + request.ClienteGarantiaInfo.DataSolicitacao + "<BR>");
                _EmailBuilder.Append("<B> Hora Atual</B>            : " + DateTime.Now + "<BR>");
                _EmailBuilder.Append("<B> Código do Cliente </B>    : " + request.ClienteGarantiaInfo.IdCliente.ToString() + "<BR>");
                _EmailBuilder.Append("<B> Instrumento</B>           : " + request.ClienteGarantiaInfo.Instrumento + "<BR>");
                _EmailBuilder.Append("<B> Quantidade </B>           : " + request.ClienteGarantiaInfo.Quantidade + "<BR>");
                _EmailBuilder.Append("<B> Função </B>               : Cobertura de termo ");
                _EmailBuilder.Append("</BR>");



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

                logger.InfoFormat("Conseguiu instanciar o serviço Ativador.Get<IServicoEmail>");

                string lEmailDestinatario = ConfigurationManager.AppSettings["EmailDestinatario"].ToString();

                var lEmail = new EnviarEmailRequest();

                lEmail.Objeto = new OMS.Email.Lib.EmailInfo();

                lEmail.Objeto.Assunto = "Notificação de solicitação de transferencia de custódia [TERMO]";

                lEmail.Objeto.Destinatarios = new List <string>();

                lEmail.Objeto.Destinatarios.Add(lEmailDestinatario);

                logger.InfoFormat(string.Format("Enviando e-mail de notificação de ativação de plano para para {0}", lEmailDestinatario));

                lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacao"].ToString();

                lEmail.Objeto.CorpoMensagem = _EmailBuilder.ToString();

                logger.InfoFormat("Entrou no método de EnviaEmailClienteEstornos");

                EnviarEmailResponse lResponse = lServico.Enviar(lEmail);

                if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK))
                {
                    logger.Info("Email disparado com sucesso (Garantia de Termo) ");
                }
                else
                {
                    logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} ");
                }
            }
            catch (Exception ex)
            {
                logger.Info("Ocorreu um erro ao enviar o E-MAIL de solicitação de alocação para garantia de termo para os destinatarios", ex);
            }
        }
コード例 #9
0
        private void btnEnviarEmail_Click(object sender, EventArgs e)
        {
            try
            {
                EnviarEmailRequest request = new EnviarEmailRequest();

                Dictionary <int, InformacoesClienteInfo> lista = new Dictionary <int, InformacoesClienteInfo>();
                foreach (InformacoesClienteInfo item in ListaDevedoresFiltrada)
                {
                    lista.Add(item.CodigoCliente, item);
                }

                int emailEnviados    = 0;
                int emailNaoEnviados = 0;

                foreach (TreeNode notificacao in treeEmail.Nodes)
                {
                    if (notificacao.Checked)
                    {
                        if (notificacao.Name.StartsWith("-"))
                        {
                            request.DadosEmail                  = new EmailInfo();
                            request.DadosEmail.Anexos           = ListaEmail[IdEmailVinculados].Anexos;
                            request.DadosEmail.Conteudo         = ListaEmail[IdEmailVinculados].Conteudo;
                            request.DadosEmail.DataAtualizacao  = ListaEmail[IdEmailVinculados].DataAtualizacao;
                            request.DadosEmail.Descricao        = ListaEmail[IdEmailVinculados].Descricao;
                            request.DadosEmail.EmailCopia       = ListaEmail[IdEmailVinculados].EmailCopia;
                            request.DadosEmail.EmailCopiaOculta = ListaEmail[IdEmailVinculados].EmailCopiaOculta;
                            request.DadosEmail.Id               = ListaEmail[IdEmailVinculados].Id;
                            request.DadosEmail.IdTextoEmail     = ListaEmail[IdEmailVinculados].IdTextoEmail;
                            request.DadosEmail.ListaAssessor    = ListaEmail[IdEmailVinculados].ListaAssessor;
                            request.DadosEmail.Titulo           = new StringBuilder(ListaEmail[IdEmailVinculados].Titulo).ToString();
                            request.DadosEmail.Assunto          = new StringBuilder(ListaEmail[IdEmailVinculados].Assunto).ToString();
                            request.DadosEmail.EmailPara        = new StringBuilder(ListaEmail[IdEmailVinculados].EmailPara).ToString();
                            int codCliente = Int32.Parse(notificacao.Name.Substring(1, notificacao.Name.Length - 1));

                            request.ListaClientes = new List <InformacoesClienteInfo>();
                            if (notificacao.Nodes[0].Checked)
                            {
                                request.ListaClientes.Add(lista[codCliente]);
                                request.DadosEmail.Titulo    = lista[codCliente].NomeCliente;
                                request.DadosEmail.Assunto  += lista[codCliente].NomeCliente;
                                request.DadosEmail.EmailPara = notificacao.Text.Substring(notificacao.Text.IndexOf('(') + 1).Replace(')', ' ').Trim();

                                if (request.DadosEmail.EmailPara.Length == 0)
                                {
                                    string msg = string.Format("Favor preencher e-mail do Cliente Vinculado ({0})", codCliente);
                                    MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    return;
                                }
                            }

                            if (request.ListaClientes.Count > 0)
                            {
                                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                                if (!EmailTestePara.Equals(""))
                                {
                                    request.DadosEmail.EmailPara = EmailTestePara;
                                }
                                if (!EmailTesteCopia.Equals(""))
                                {
                                    request.DadosEmail.EmailCopia = EmailTesteCopia;
                                }
                                if (!EmailTesteCopiaOculta.Equals(""))
                                {
                                    request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                                }

                                EnviarEmailResponse resp = serv.EnviarEmailAssessores(request);
                                if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                                {
                                    emailEnviados++;
                                }
                                else
                                {
                                    emailNaoEnviados++;
                                }
                            }
                        }
                        else
                        {
                            request.DadosEmail = ListaEmail[Int32.Parse(notificacao.Name)];

                            request.ListaClientes = new List <InformacoesClienteInfo>();
                            foreach (TreeNode clienteNotificado in notificacao.Nodes)
                            {
                                if (clienteNotificado.Checked)
                                {
                                    request.ListaClientes.Add(lista[Int32.Parse(clienteNotificado.Name)]);
                                }
                            }

                            if (request.ListaClientes.Count > 0)
                            {
                                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                                if (!EmailTestePara.Equals(""))
                                {
                                    request.DadosEmail.EmailPara = EmailTestePara;
                                }
                                if (!EmailTesteCopia.Equals(""))
                                {
                                    request.DadosEmail.EmailCopia = EmailTesteCopia;
                                }
                                if (!EmailTesteCopiaOculta.Equals(""))
                                {
                                    request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                                }

                                EnviarEmailResponse resp = serv.EnviarEmailAssessores(request);
                                if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                                {
                                    emailEnviados++;
                                }
                                else
                                {
                                    emailNaoEnviados++;
                                }
                            }
                        }
                    }
                }

                if (emailEnviados > 0)
                {
                    string msg = string.Format("{0} Notificações enviadas com sucesso!", emailEnviados.ToString());
                    MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                if (emailNaoEnviados > 0)
                {
                    string msg = string.Format("{0} FALHA NO ENVIO DAS NOTIFICAÇÕES!", emailNaoEnviados.ToString());
                    MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                string msg = "Enviar E-mail: " + ex.Message;
                MessageBox.Show(msg, "Notificar Assessores", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #10
0
        private void EnviarEmailTesourariaControladoria(AplicacaoResgateInfo info)
        {
            try
            {
                var           lAtivador      = Ativador.Get <IServicoEmail>();
                List <string> lDestinatarios = new List <string>();

                if (info.EhFundoItau)
                {
                    lDestinatarios.Add(ConfigurationManager.AppSettings["EmailMovimentacao"].ToString());
                    lDestinatarios.Add(ConfigurationManager.AppSettings["EmailTesouraria"].ToString());
                }
                else
                {
                    lDestinatarios.Add(ConfigurationManager.AppSettings["EmailMovimentacaoWM"].ToString());
                }

                string lNomeArquivo        = "AvisoAplicacaoResgate.htm";
                string lPath               = ConfigurationManager.AppSettings["ArquivosEmail"].ToString();
                string lCaminho            = Path.Combine(lPath, lNomeArquivo);
                string lCorpoEmail         = File.ReadAllText(lCaminho);
                string lArquivoConcatenado = lCorpoEmail;

                var lVariaveis = new Dictionary <string, string>();

                string lAssunto = string.Empty;

                if (info.TipoMovimento == "1")
                {
                    lAssunto = "Aplicação Efetuada - Cliente: " + info.CodigoCliente + " no Fundo " + info.NomeFundo;

                    lVariaveis.Add("##NomeCliente##", info.NomeCliente);

                    lVariaveis.Add("##CodigoCliente##", info.CodigoCliente.ToString());

                    lVariaveis.Add("##NomeFundo##", info.NomeFundo);

                    lVariaveis.Add("##ValorSolicitado##", info.VlrBrutoMovimento.ToString("N2", gCultura));

                    lVariaveis.Add("##Data##", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));

                    lVariaveis.Add("##Operacao##", "Aplicação");

                    lVariaveis.Add("##TotalParcial##", "-");

                    lVariaveis.Add("##DataLiquidacao##", "n\\d");
                }
                else
                {
                    lAssunto = "Resgate solicitado - Cliente: " + info.CodigoCliente + " no Fundo " + info.NomeFundo;

                    lVariaveis.Add("##NomeCliente##", info.NomeCliente);

                    lVariaveis.Add("##CodigoCliente##", info.CodigoCliente.ToString());

                    lVariaveis.Add("##NomeFundo##", info.NomeFundo);

                    lVariaveis.Add("##ValorSolicitado##", info.VlrBrutoMovimento.ToString("N2"));

                    lVariaveis.Add("##Data##", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));

                    lVariaveis.Add("##Operacao##", "Resgate");

                    lVariaveis.Add("##TotalParcial##", info.EhResgateTotal ? "Resgate Total" : "Resgate Parcial");

                    lVariaveis.Add("##DataLiquidacao##", info.DsDiasPagResgate);
                }

                foreach (KeyValuePair <string, string> lItem in lVariaveis)
                {
                    gLogger.InfoFormat("PaginaBase.EnviarEmail: Arquivo [{0}], Substituindo [{1}] por [{2}]...", lCaminho, lItem.Key, lItem.Value);

                    lArquivoConcatenado = lArquivoConcatenado.Replace(lItem.Key, lItem.Value);
                }

                lCorpoEmail = lArquivoConcatenado;

                var lEmailEntrada = new EnviarEmailRequest();
                lEmailEntrada.Objeto               = new EmailInfo();
                lEmailEntrada.Objeto.Assunto       = lAssunto;
                lEmailEntrada.Objeto.Destinatarios = lDestinatarios;
                lEmailEntrada.Objeto.Remetente     = ConfigurationManager.AppSettings["EmailRemetenteGradual"].ToString();
                lEmailEntrada.Objeto.CorpoMensagem = lCorpoEmail;

                EnviarEmailResponse lEmailRetorno = lAtivador.Enviar(lEmailEntrada);

                if (lEmailRetorno.StatusResposta == MensagemResponseStatusEnum.OK)
                {
                    gLogger.InfoFormat("E-mail enviado com sucesso...Assunto - [{0}] - Corpo - ", lAssunto, lCorpoEmail);
                }
                else
                {
                    gLogger.ErrorFormat("O e-mail não foi enviado - Erro - [{0}]", lEmailRetorno.DescricaoResposta);
                }
            }
            catch (Exception ex)
            {
                gLogger.Error("Erro ao enviar e-mail- ", ex);
            }
        }
コード例 #11
0
        public void EnviarEmail(List <PLDOperacaoInfo> ListaPLD)
        {
            StringBuilder _EmailBuilder = new StringBuilder();

            try
            {
                _EmailBuilder.Append("<P> Segue abaixo relação de posições PLD que se encontram em estado de analise. </P>");

                foreach (var item in ListaPLD)
                {
                    string HoraNegocio          = string.Format("{0:T}", item.HR_NEGOCIO).ToString();
                    string HoraAtual            = string.Format("{0:T}", DateTime.Now).ToString();
                    string MinutosRestantes     = string.Format("{0:T}", item.MinutosRestantesPLD).ToString();
                    string NumeroNegocio        = item.NumeroNegocio.ToString();
                    string Instrumento          = item.Intrumento;
                    string IntencaoPLD          = item.IntencaoPLD;
                    string PrecoNegocio         = item.PrecoNegocio.ToString();
                    string PrecoMercado         = string.Format("{0:C}", item.PrecoMercado).ToString();
                    string LucroPrejuiso        = string.Format("{0:C}", item.LucroPrejuiso).ToString();
                    string Quantidade           = item.Quantidade.ToString();
                    string QuantidadeCasada     = item.QT_CASADA.ToString();
                    string Sentido              = item.Sentido.ToString();
                    string Status               = item.STATUS.ToString();
                    string DescricaoCriticidade = item.DescricaoCriticidade;

                    _EmailBuilder.Append("<BR>");
                    _EmailBuilder.Append("-------------  [" + NumeroNegocio + "] ------------- <BR>");
                    _EmailBuilder.Append("<B> Hora do negócio</B>       : " + HoraNegocio + "<BR>");
                    _EmailBuilder.Append("<B> Hora Atual</B>            : " + HoraAtual + "<BR>");
                    _EmailBuilder.Append("<B> Minutos Restantes         : <font color='red'> " + MinutosRestantes + "</font></B> <BR>");
                    _EmailBuilder.Append("<B> Numero do negócio</B>     : " + NumeroNegocio + "<BR>");
                    _EmailBuilder.Append("<B> Instrumento</B>           : " + Instrumento + "<BR>");
                    _EmailBuilder.Append("<B> Intencao de PLD</B>       : " + IntencaoPLD + "<BR>");
                    _EmailBuilder.Append("<B> Preço Negócio</B>         : " + PrecoNegocio + "<BR>");
                    _EmailBuilder.Append("<B> Preço Mercado</B>         : " + PrecoMercado + "<BR>");
                    _EmailBuilder.Append("<B> Lucro Prejuiso</B>        : " + LucroPrejuiso + "<BR>");
                    _EmailBuilder.Append("<B> Quantidade</B>            : " + Quantidade + "<BR>");
                    _EmailBuilder.Append("<B> Quantidade Casada</B>     : " + QuantidadeCasada + "<BR>");
                    _EmailBuilder.Append("<B> Sentido Operacação</B>    : " + Sentido + "<BR>");
                    _EmailBuilder.Append("<B> Status do PLD</B>         : " + Status + "<BR>");
                    _EmailBuilder.Append("<B> Nível Criticidade</B>     : <font color='red'> " + DescricaoCriticidade + "</font></B> <BR>");
                    _EmailBuilder.Append("</BR>");
                }

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

                logger.InfoFormat("Conseguiu instanciar o serviço Ativador.Get<IServicoEmail>");

                string lEmailDestinatario = ConfigurationManager.AppSettings["EmailDestinatario"].ToString();

                var lEmail = new EnviarEmailRequest();

                lEmail.Objeto = new OMS.Email.Lib.EmailInfo();

                lEmail.Objeto.Assunto = "Alerta de PLD [ " + ListaPLD.Count + " ] posições a serem analisadas.";

                lEmail.Objeto.Destinatarios = new List <string>();

                lEmail.Objeto.Destinatarios.Add(lEmailDestinatario);

                logger.InfoFormat(string.Format("Enviando e-mail de notificação de ativação de plano para para {0}", lEmailDestinatario));

                lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacao"].ToString();

                lEmail.Objeto.CorpoMensagem = _EmailBuilder.ToString();

                logger.InfoFormat("Entrou no método de EnviaEmailClienteEstornos");

                EnviarEmailResponse lResponse = lServico.Enviar(lEmail);

                if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK))
                {
                    logger.Info("Email disparado com sucesso ( PLD ) ");
                }
                else
                {
                    logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} ");
                }
            }
            catch (Exception ex)
            {
                logger.Info("Ocorreu um erro ao enviar o E-MAIL de PLD para os destinatarios", ex);
            }
        }
コード例 #12
0
        private void btnEnviarEmail_Click(object sender, EventArgs e)
        {
            try
            {
                EnviarEmailRequest request = new EnviarEmailRequest();

                ISaldoDevedor serv = Ativador.Get <ISaldoDevedor>();

                EmailResponse dadosEmail = serv.ObterDetalheEmail(IDEMAIL_ATENDIMENTO);
                request.DadosEmail = dadosEmail.Lista[IDEMAIL_ATENDIMENTO];

                var listaSelecionados =
                    from InformacoesClienteInfo lstcli in ListaDevedoresFiltrada
                    orderby lstcli.CodigoAssessor, lstcli.CodigoCliente ascending
                where lstcli.Selecionado == true
                select lstcli;

                request.ListaClientes = listaSelecionados.ToList();

                if (request.ListaClientes.Count > 0)
                {
                    if (!EmailTestePara.Equals(""))
                    {
                        request.DadosEmail.EmailPara = EmailTestePara;
                    }
                    if (!EmailTesteCopia.Equals(""))
                    {
                        request.DadosEmail.EmailCopia = EmailTesteCopia;
                    }
                    if (!EmailTesteCopiaOculta.Equals(""))
                    {
                        request.DadosEmail.EmailCopiaOculta = EmailTesteCopiaOculta;
                    }

                    EnviarEmailResponse resp = serv.EnviarEmailAtendimento(request);
                    if (resp.Retorno == EnviarEmailResponse.RETORNO_OK)
                    {
                        ParametroRequest req = new ParametroRequest();
                        req.Parametro = new ParametroInfo();
                        if (notificarAtendimentoDiasAlternados == ParametroRequest.NAO_NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS)
                        {
                            req.Parametro.NotificarAtendimentoDiasAlternados = ParametroRequest.NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS;
                        }
                        else
                        {
                            req.Parametro.NotificarAtendimentoDiasAlternados = ParametroRequest.NAO_NOTIFICAR_ATENDIMENTO_DIAS_ALTERNADOS;
                        }

                        serv.GravarParametroNotificarAtendimentoDiasAlternados(req);

                        MessageBox.Show("Notificação enviada com sucesso!", "Notificar Atendimento",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        MessageBox.Show("FALHA NO ENVIO DA NOTIFICAÇÃO!", "Notificar Atendimento",
                                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            catch (Exception ex)
            {
                string msg = "Enviar E-Mail: " + ex.Message;
                MessageBox.Show(msg, "Notificar Atendimento", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #13
0
ファイル: ServicoEmail.cs プロジェクト: radtek/Gradual
        /// <summary>
        /// Envia o email com base nas propriedades do objeto.
        /// </summary>
        public EnviarEmailResponse Enviar(EnviarEmailRequest pParametro)
        {
            try
            {
                string lDestinatarios = "";

                foreach (string lEmail in pParametro.Objeto.Destinatarios)
                {
                    lDestinatarios += string.Format("{0},", lEmail);
                }

                lDestinatarios = lDestinatarios.TrimEnd(",".ToCharArray());

                if (pParametro.Objeto != null)
                {
                    logger.InfoFormat("> Chamada para envio de email assunto [{0}], Remetente: {1}, Destinatário: {2}", pParametro.Objeto.Assunto, pParametro.Objeto.Remetente, lDestinatarios);
                }
                else
                {
                    logger.InfoFormat("> Chamada para envio de email com pParametro.Objeto nulo!");
                }

                this.ObjetoEmail = pParametro.Objeto;
                var lResposta = new EnviarEmailResponse()
                {
                    StatusResposta = MensagemResponseStatusEnum.OK,
                    Resposta       = pParametro.Objeto,
                };

                if (0.Equals(this.ObjetoEmail.Destinatarios.Count) || string.IsNullOrEmpty(this.ObjetoEmail.Destinatarios[0]))
                {
                    throw new NullReferenceException("Informe ao menos um destinatário para mensagem.");
                }

                var lMensagem = new MailMessage(ObjetoEmail.Remetente, this.ObjetoEmail.Destinatarios[0]);

                for (int a = 1; a < ObjetoEmail.Destinatarios.Count; a++)
                {
                    lMensagem.To.Add(ObjetoEmail.Destinatarios[a]); //o destinatário número 0 já foi incluido na linha acima: this.ObjetoEmail.Destinatarios[0]
                }

                ObjetoEmail.DestinatariosCC.ForEach(delegate(string mailCc)
                {
                    lMensagem.CC.Add(mailCc);
                });

                ObjetoEmail.DestinatariosCO.ForEach(delegate(string mailCo)
                {
                    lMensagem.Bcc.Add(mailCo);
                });

                ObjetoEmail.ReplyTo.ForEach(delegate(string replyTo)
                {
                    lMensagem.ReplyToList.Add(replyTo);
                });

                if (ObjetoEmail.Anexos != null && ObjetoEmail.Anexos.Count > 0)
                {
                    foreach (var item in ObjetoEmail.Anexos)
                    {
                        lMensagem.Attachments.Add(new Attachment(new MemoryStream(item.Arquivo), item.Nome));
                    }
                }

                {
                    lMensagem.Body       = ObjetoEmail.CorpoMensagem;
                    lMensagem.IsBodyHtml = ObjetoEmail.MensagemHTML;
                    lMensagem.Priority   = ObjetoEmail.Prioridade;
                    lMensagem.Subject    = ObjetoEmail.Assunto;
                }

                //new SmtpClient("ironport.gradualcorretora.com.br").Send(lMensagem);
                //new SmtpClient(this.GetSMTPHost).Send(lMensagem);
                bool sinaliza = queueMessages.IsEmpty;
                queueMessages.Enqueue(lMensagem);
                if (sinaliza)
                {
                    lock (syncQueueMessages)
                    {
                        Monitor.Pulse(syncQueueMessages);
                    }
                }

                logger.InfoFormat("< Retorno de envio de email; Status [{0}]", lResposta.StatusResposta);

                return(lResposta);
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Enviar  - Erro {0} - Stack Trace {1}", ex.Message, ex.StackTrace);

                this.GetServicoStatus = ServicoStatus.Erro;

                return(new EnviarEmailResponse()
                {
                    StatusResposta = MensagemResponseStatusEnum.ErroPrograma,
                    DescricaoResposta = ex.ToString(),
                });
            }
        }
コード例 #14
0
ファイル: ServicoEmail.cs プロジェクト: radtek/Gradual
        /// <summary>
        /// Envia o email com base nas propriedades do objeto.
        /// </summary>
        public EnviarEmailResponse EnviarComTemplate(EnviarEmailRequest pParametro)
        {
            try
            {
                string lCorpoEmail = string.Empty;

                if (pParametro.Objeto != null)
                {
                    logger.InfoFormat("> Chamada para envio de email assunto [{0}]", pParametro.Objeto.Assunto);
                }
                else
                {
                    logger.InfoFormat("> Chamada para envio de email com pParametro.Objeto nulo!");
                }

                this.ObjetoEmail = pParametro.Objeto;

                if (0.Equals(this.ObjetoEmail.Destinatarios.Count) || string.IsNullOrEmpty(this.ObjetoEmail.Destinatarios[0]))
                {
                    throw new NullReferenceException("Informe ao menos um destinatário para mensagem.");
                }

                var lMensagem = new MailMessage(ObjetoEmail.Remetente, this.ObjetoEmail.Destinatarios[0]);

                ObjetoEmail.Destinatarios.ForEach(delegate(string mail)
                {
                    if (!ObjetoEmail.Destinatarios.Contains <string>(mail))
                    {
                        lMensagem.To.Add(mail);
                    }
                });

                ObjetoEmail.DestinatariosCC.ForEach(delegate(string mailCc)
                {
                    lMensagem.CC.Add(mailCc);
                });

                ObjetoEmail.DestinatariosCO.ForEach(delegate(string mailCo)
                {
                    lMensagem.Bcc.Add(mailCo);
                });

                if (ObjetoEmail.Anexos != null && ObjetoEmail.Anexos.Count > 0)
                {
                    foreach (var item in ObjetoEmail.Anexos)
                    {
                        lMensagem.Attachments.Add(new Attachment(new MemoryStream(item.Arquivo), item.Nome));
                    }
                }

                switch (pParametro.Objeto.ETipoTemplate)
                {
                case ETipoTemplate.NotificacaoRetirada:
                {
                    lCorpoEmail = File.ReadAllText(ConfigurationManager.AppSettings["pathEmailNotificacaoRetirada"].ToString());
                    foreach (KeyValuePair <string, string> dados in pParametro.Objeto.ListaVariavelTemplate)
                    {
                        lCorpoEmail = lCorpoEmail.Replace(dados.Key, dados.Value);
                    }
                }
                break;

                case ETipoTemplate.NotificacaoDeposito:
                {
                    lCorpoEmail = File.ReadAllText(ConfigurationManager.AppSettings["pathEmailNotificacaoDeposito"].ToString());
                    foreach (KeyValuePair <string, string> dados in pParametro.Objeto.ListaVariavelTemplate)
                    {
                        lCorpoEmail = lCorpoEmail.Replace(dados.Key, dados.Value);
                    }
                }
                break;
                }

                {
                    lMensagem.Body       = lCorpoEmail;
                    lMensagem.IsBodyHtml = ObjetoEmail.MensagemHTML;
                    lMensagem.Priority   = ObjetoEmail.Prioridade;
                    lMensagem.Subject    = ObjetoEmail.Assunto;
                }

                //new SmtpClient("ironport.gradualcorretora.com.br").Send(lMensagem);
                //new SmtpClient(this.GetSMTPHost).Send(lMensagem);
                bool sinaliza = queueMessages.IsEmpty;
                queueMessages.Enqueue(lMensagem);
                if (sinaliza)
                {
                    lock (syncQueueMessages)
                    {
                        Monitor.Pulse(syncQueueMessages);
                    }
                }

                var lResposta = new EnviarEmailResponse()
                {
                    StatusResposta = MensagemResponseStatusEnum.OK,
                    Resposta       = pParametro.Objeto,
                };


                logger.InfoFormat("< Retorno de envio de email; Status [{0}]", lResposta.StatusResposta);

                return(lResposta);
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("EnviarComTemplate  - Erro {0} - Stack Trace {1}", ex.Message, ex.StackTrace);

                this.GetServicoStatus = ServicoStatus.Erro;

                return(new EnviarEmailResponse()
                {
                    StatusResposta = MensagemResponseStatusEnum.ErroPrograma,
                    DescricaoResposta = ex.ToString(),
                });
            }
        }
コード例 #15
0
        private void EnviaNotificacaoAtivacaoPlanoIR(int CodigoCBLC, int CodigoPlano)
        {
            try
            {
                var lServico = Ativador.Get <IServicoEmail>();

                AcessaDados lAcesso = new AcessaDados();

                logger.InfoFormat("Conseguiu instanciar o serviço Ativador.Get<IServicoEmail>");

                StreamReader lStream = new StreamReader(Path.Combine(ConfigurationManager.AppSettings["pathArquivoEmailNotificacao"].ToString(), "NotificacaoAtivacaoPlanoIR.txt"));

                string lCorpoEmail = lStream.ReadToEnd();

                var lEmail = new EnviarEmailRequest();

                lEmail.Objeto = new EmailInfo();

                lEmail.Objeto.Assunto = "Notificação de ativação Plano IR";

                lAcesso.ConnectionStringName = _ConnStringControleAcesso;

                using (DbCommand cmd = lAcesso.CreateCommand(CommandType.StoredProcedure, "PRC_SELECIONAR_CLIENTES_PLANOIR"))
                {
                    lAcesso.AddInParameter(cmd, "@CD_CBLC", DbType.Int32, CodigoCBLC);

                    lAcesso.AddInParameter(cmd, "@ID_PRODUTO", DbType.Int32, CodigoPlano);

                    //recupera os dados para mandar e-mail
                    DataTable table = lAcesso.ExecuteDbDataTable(cmd);

                    if (table.Rows.Count > 0)
                    {
                        lEmail.Objeto.Destinatarios = new List <string>();

                        lEmail.Objeto.Destinatarios.Add(table.Rows[0]["DS_EMAIL"].ToString());

                        logger.InfoFormat(string.Format("Enviando e-mail de notificação de ativação de plano para para {0}", table.Rows[0]["DS_EMAIL"].ToString()));

                        lEmail.Objeto.Remetente = ConfigurationManager.AppSettings["EmailRemetenteNotificacao"].ToString();

                        lEmail.Objeto.CorpoMensagem = lCorpoEmail.Replace("###NOME###", table.Rows[0]["DS_NOME"].ToString());

                        logger.InfoFormat("Entrou no método de EnviaEmailAvisoPlanoIR - CBLC CodigoCBLC");

                        EnviarEmailResponse lResponse = lServico.Enviar(lEmail);

                        if (lResponse.StatusResposta.Equals(MensagemResponseStatusEnum.OK))
                        {
                            logger.Info("Email disparado com sucesso");
                        }
                        else
                        {
                            logger.ErrorFormat("O e-mail não foi disparado - Descrição: {0} ", lResponse.DescricaoResposta);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Erro em EnviaEmailAvisoPlanoCliente  - {0} - StackTrace - {1}", ex.Message, ex.StackTrace);
            }
        }