예제 #1
0
        public void EnviaMensagemExcessao(Exception excesao)
        {
            if (Convert.ToBoolean(ConfigurationManager.AppSettings["AmbienteTeste"]))
            {
                return;
            }

            try
            {
                if (System.Configuration.ConfigurationManager.AppSettings["MensagemExcessaoAtivado"] != null && Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["MensagemExcessaoAtivado"]) == "true")
                {
                    if (System.Configuration.ConfigurationManager.AppSettings["MensagemExcessaoEmailDestinatario"] == null)
                    {
                        throw new Exception("A chave MensagemExcessaoEmailDestinatario não está devidamente configurada.");
                    }

                    string emailDestinatario = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["MensagemExcessaoEmailDestinatario"]);

                    ServicoEmailParalela.EnviaMensagemExcessao(emailDestinatario, excesao.Message, excesao.StackTrace);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Falha ao enviar e-mail: " + ex);
            }
        }
        public void ReenviaBoleto(int clienteID, int BoletoID)
        {
            List <int> lstBoletosID      = new List <int>();
            string     caminho           = Boleto.Instancia.Info.TemplateEmail.Valor;
            string     linkBoletos       = "";
            string     assinaturasTabela = "";

            if (clienteID == 0)
            {
                throw new Exception("Identificação incorreta, não foi possível encontrar o seu cadastro.");
            }

            linkBoletos += "<a href=\"" + Boleto.Instancia.Info.LinkVisualizacao.Valor + BoletoID + "\">Boleto reemitido</a><br/><br/>";

            List <AcaoProvisoria> listaAcoes = new List <AcaoProvisoria>();

            listaAcoes = this.CarregarAssinaturasBoleto(BoletoID);

            assinaturasTabela += "<table width=\"600\" border=\"1\" cellspacing=\"0\" cellpadding=\"5\" bordercolor=\"#CCCCCC\">";
            assinaturasTabela += "<tr><td><font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#666666'><b>Assinatura</b></font></td><td><font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#666666'><b>Setor</b></font></td><td><font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#666666'><b>Lugar</b></font></td></tr>";
            foreach (AcaoProvisoria item in listaAcoes)
            {
                assinaturasTabela += "<tr><td><font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#666666'>" + item.Assinatura + "</font></td><td><font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#666666'>" + item.Setor + "</font></td><td><font face='Verdana, Arial, Helvetica, sans-serif' size='2' color='#666666'>" + item.Lugar + "</font></td></tr>";
            }
            assinaturasTabela += "</table>";

            Cliente oCliente = new Cliente();

            oCliente.Ler(clienteID);
            if (oCliente.Email.Valor.Length != 0)
            {
                ServicoEmailParalela.EnviarBoletos(oCliente.Email.Valor, linkBoletos, assinaturasTabela);
            }
        }
        public void EnviarEmailEstorno(int clienteID, decimal valoresPagos)
        {
            if (valoresPagos > 0)
            {
                Cliente oCliente = new Cliente();
                oCliente.Ler(clienteID);

                ServicoEmailParalela.EnviarEmailEstorno(oCliente.Email.Valor, oCliente.Nome.Valor, oCliente.CPF.Valor, valoresPagos);
            }
        }
예제 #4
0
 public void ConfirmacaoDeCompraVir(string nomeCliente, string emailCliente, string senhaVenda, string tabelaItensComprados, string formasPagamento, string tipoTaxa, string dataVenda, string atendente, string canal, string detalhesTaxaEntrega)
 {
     try
     {
         ServicoEmailParalela.EnviarVendaAprovadaVir(nomeCliente, emailCliente, senhaVenda, tabelaItensComprados, atendente, dataVenda, canal, formasPagamento, detalhesTaxaEntrega, tipoTaxa);
     }
     catch (Exception ex)
     {
         throw new Exception("ConfirmacaoDeCompra - Falha ao enviar e-mail: " + ex);
     }
 }
예제 #5
0
 public bool EnviarEmailAprovacaoSetores(string Arvore)
 {
     try
     {
         ServicoEmailParalela.EnviarEmailAprovacaoSetores(this.DESTINATARIO_APROV_SETOR, Arvore);
         return(true);
     }
     catch (Exception ex)
     {
         this.EnviaMensagemExcessao(ex);
         return(false);
     }
 }
예제 #6
0
        public void InseridoCanalEventoLogistica(string eventoID, bool filme)
        {
            if (filme)
            {
                InseridoCanalEventoCinema(eventoID);
                return;
            }

            if (Convert.ToBoolean(ConfigurationManager.AppSettings["AmbienteTeste"]))
            {
                return;
            }

            try
            {
                if (string.IsNullOrEmpty(PARA))
                {
                    PARA = string.Empty;
                }
                else if (string.IsNullOrEmpty(PARA_ABRIL))
                {
                    PARA_ABRIL = string.Empty;
                }

                string[] eventoLocalNome = new Evento().EventoLocalNome(Convert.ToInt32(eventoID));

                //monta o e-mail
                foreach (string destino in PARA.Split(','))
                {
                    if (destino.Length == 0)
                    {
                        continue;
                    }

                    ServicoEmailParalela.EnviarInseridoCanalEventoLogistica(destino, eventoLocalNome[1], eventoLocalNome[0]);
                }

                foreach (string destino in PARA_ABRIL.Split(','))
                {
                    if (destino.Length == 0)
                    {
                        continue;
                    }

                    ServicoEmailParalela.EnviarInseridoCanalEventoLogistica(destino, eventoLocalNome[1], eventoLocalNome[0]);
                }
            }
            catch (Exception)
            {
            }
        }
예제 #7
0
        private void EnviarAlerta(List <EstruturaQuantidadeCodigosListaBranca> lista, bool codigosCriados)
        {
            EnviaSMS enviar = new EnviaSMS();

            foreach (var item in lista)
            {
                if (item.Email.Length > 0)
                {
                    ServicoEmailParalela.EnviarAlertaCodigoBarra(item.Email, item.Regional, item.Empresa, item.Local, item.Evento, item.Horario.ToString(), item.Setor, item.Quantidade, codigosCriados);
                }

                enviar.EnviarSMS_AlertaCodigoBarra(Temporizador.Instancia.CodigoBarra.Telefones.Valor.Split(';').ToList(), item, codigosCriados);
            }
        }
예제 #8
0
        public void Enviar()
        {
            this.Buscar();

            if (ListaEnvios.Count == 0)
            {
                return;
            }

            int c = 0;

            while (ListaEnvios.Count > 0)
            {
                var envio = ListaEnvios.FirstOrDefault();
                try
                {
                    ServicoEmailParalela.EnviarEmailAssinaturas(envio.ClienteEmail, envio.Assunto, envio.Corpo);

                    bd.Executar(
                        string.Format("UPDATE tAssinaturaEmailEnviar SET DataEnvio = '{0}', Enviado = '{1}' WHERE ID = {2}", DateTime.Now.ToString("yyyyMMddHHmmss"), "T", envio.EnvioID));

                    ListaEnvios.Remove(envio);
                }
                catch (Exception ex)
                {
                    ListaEnvios.Remove(envio);
                    try
                    {
                        bd.Executar(
                            string.Format("UPDATE tAssinaturaEmailEnviar SET DataEnvio = '{0}', Erro = '{1}' WHERE ID = {2}", DateTime.Now.ToString("yyyyMMddHHmmss"), ex.Message.ToSafeString(), envio.EnvioID));
                    }
                    catch
                    {
                        ListaEnvios.Remove(envio);
                    }
                }

                c++;

                //Respiro
                if (c % 10 == 0)
                {
                    Thread.Sleep(Temporizador.Instancia.EmailAssinaturas.Respiro.Valor);
                }
            }
        }
예제 #9
0
파일: Email.cs 프로젝트: icaroferj/ir-api
        public void EnviarCancelamentoCompra(int clienteID, EstruturaTransacoesDetalhes venda)
        {
            try
            {
                string[] email = cliente.BuscaEmail(clienteID);

                if (!string.IsNullOrEmpty(email[0]))
                {
                    string pedido  = MontarDetalhes(venda);
                    string entrega = MontarProcedimento(venda);
                    ServicoEmailParalela.EnviarEmailCancelamento(email[1], email[0], venda.Senha, pedido, venda.Atendente, venda.DataVenda.ToString(), venda.Canal, venda.FormasPagamento(), entrega, venda.TaxaEntrega);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("EnviarCancelamentoCompra : " + ex.Message);
            }
        }
예제 #10
0
        private void EnviarAlerta(List <EstruturaAlertaApresentacao> listaApresentacoes, int dias, List <string> destinatarios)
        {
            if (listaApresentacoes.Count == 0)
            {
                return;
            }

            if (destinatarios == null)
            {
                return;
            }

            StringBuilder mensagem = new StringBuilder();

            mensagem.Append("<span style='font-size:18px; color: Red;'>");
            mensagem.Append("<b>Atenção!</b>As apresentações abaixo possuem 20 ou mais senhas para impressão em bilheteria!<br />");
            mensagem.Append("</span>");
            mensagem.Append("<table style='width:548px; text-align:center;'>");
            mensagem.Append("<tr>");
            mensagem.Append("<th>Regional</th>");
            mensagem.Append("<th>Empresa</th>");
            mensagem.Append("<th>Local</th>");
            mensagem.Append("<th>Evento</th>");
            mensagem.Append("<th>Horário</th>");
            mensagem.Append("<th>Quantidade</th>");
            foreach (EstruturaAlertaApresentacao alerta in listaApresentacoes)
            {
                mensagem.Append("<tr>");
                mensagem.AppendFormat("<td>{0}</td>", alerta.Regional);
                mensagem.AppendFormat("<td>{0}</td>", alerta.Empresa);
                mensagem.AppendFormat("<td>{0}</td>", alerta.Local);
                mensagem.AppendFormat("<td>{0}</td>", alerta.Evento);
                mensagem.AppendFormat("<td>{0}</td>", alerta.Horario);
                mensagem.AppendFormat("<td>{0}</td>", alerta.Quantidade);
                mensagem.Append("</tr>");
            }

            mensagem.Append("</table>");

            foreach (var item in destinatarios)
            {
                ServicoEmailParalela.EnviarAlerta(item, mensagem.ToString());
            }
        }
        public void EnviarBoletos(BD bd, int parcela, decimal valorTotal, int vendaBilheteriaFormaPagamentoID, List <AcaoProvisoria> listaAcoes, string email)
        {
            try
            {
                string     linkBoletos  = string.Empty;
                List <int> lstBoletosID = this.GerarBoletos(bd, parcela, valorTotal, vendaBilheteriaFormaPagamentoID);

                for (int i = 0; i < lstBoletosID.Count; i++)
                {
                    linkBoletos += "<a href=\"" + Boleto.Instancia.Info.LinkVisualizacao.Valor + lstBoletosID[i] + "\">Boleto " + i + "</a><br/>";
                }

                string assinaturasTabela = @"<table style='width: 540px; border-collapse: collapse; border-color: #cccccc;' border='1'>
                                        <tr>
                                            <td><b>Assinatura</b></td>
                                            <td><b>Setor</b></td>
                                            <td><b>Lugar</b></td>
                                            <td><b>Valor</b></td>
                                        </tr>";
                foreach (AcaoProvisoria item in listaAcoes)
                {
                    assinaturasTabela += @"<tr>
                                            <td>" + item.Assinatura + @"</td>
                                            <td>" + item.Setor + @"</td>
                                            <td>" + item.Lugar + @"</td>
                                            <td>" + item.Valor + @"</td>
                                           </tr>";
                }
                assinaturasTabela += "</table>";

                if (Convert.ToBoolean(IRLib.Paralela.Boleto.Instancia.Info.BoletoGerenciado.Valor))
                {
                    if (!string.IsNullOrEmpty(email))
                    {
                        ServicoEmailParalela.EnviarBoletos(email, linkBoletos, assinaturasTabela);
                    }
                }
            }
            catch (Exception)
            {
                throw new Exception("Erro ao enviar o email.");
            }
        }
예제 #12
0
        public bool AlertaDeComprasComPrioridadeDeAtendimento(int quantidade_compras, int dias, string EmailsAlertaPeanut)
        {
            try
            {
                string[] listaEmail = EmailsAlertaPeanut.Split(';');

                for (int cont = 0; cont < listaEmail.Length; cont++)
                {
                    ServicoEmailParalela.EnviarAlertaDeComprasComPrioridadeDeAtendimento(listaEmail[cont], quantidade_compras, dias);
                }

                return(true);
            }
            catch (Exception ex)
            {
                this.EnviaMensagemExcessao(ex);
                return(false);
            }
        }
예제 #13
0
        public void EnviarAlertaMudancaSetor(object corpoEmail)
        {
            if (Convert.ToBoolean(ConfigurationManager.AppSettings["AmbienteTeste"]))
            {
                return;
            }

            string destinatarios = DESTINATARIOS_MAPA;
            string corpo         = corpoEmail.ToString();


            foreach (string dest in destinatarios.Split(','))
            {
                if (dest.Length > 0)
                {
                    ServicoEmailParalela.EnviarAlertaMudancaSetor(corpo, dest);
                }
            }
        }
예제 #14
0
        public void InseridoCanalEventoCinema(string eventoID)
        {
            if (Convert.ToBoolean(ConfigurationManager.AppSettings["AmbienteTeste"]))
            {
                return;
            }

            Evento evento = new Evento();

            try
            {
                string[] eventoLocalNome = evento.EventoLocalNome(Convert.ToInt32(eventoID));

                ServicoEmailParalela.EnviarInseridoCanalEventoLogistica(ConfiguracaoCinema.Instancia.Email.Web.Valor, eventoLocalNome[1], eventoLocalNome[0]);
            }
            catch (Exception)
            {
            }
        }
예제 #15
0
파일: Email.cs 프로젝트: icaroferj/ir-api
        public void EnviarConfirmacaoCompraComIngresso_im(int clienteID, EstruturaTransacoesDetalhes venda, List <IngressoImpressao> listaIngressos)
        {
            try
            {
                string[] email = cliente.BuscaEmail(clienteID);

                if (!string.IsNullOrEmpty(email[0]))
                {
                    string pedido  = MontarDetalhes(venda);
                    string entrega = MontarProcedimento(venda);

                    string querystring = QueryString.Current
                                         .Add(QueryString.ID, venda.VendaBilheteriaID.ToString())
                                         .Add(QueryString.LOGADO, "true")
                                         .Encrypt(ConfigurationManager.AppSettings["ChaveCriptografiaLogin"]).ToString();

                    ServicoEmailParalela.EnviarVendaAprovada_eTicket_Anexo_im(email[1], email[0], venda.Senha, pedido, venda.Atendente, venda.DataVenda.ToString(), venda.Canal, venda.FormasPagamento(), entrega, venda.TaxaEntrega, ConfigurationManager.AppSettings["URLImpressao"] + querystring);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("EnviarConfirmacaoCompraComIngresso_im : " + ex.Message);
            }
        }
예제 #16
0
 public void EnviarFeedback(string corpoEmail, EstruturaFeedback feedBack)
 {
     ServicoEmailParalela.EnviarFeedback(feedBack.ClienteEmail, feedBack.ClienteNome, feedBack.SenhaVenda, feedBack.DataVenda.ToShortDateString(), feedBack.VendaBilheteriaID);
 }
예제 #17
0
 public void EnviarAlertaCodigoBarra(EstruturaQuantidadeCodigosListaBranca item, bool criados)
 {
     ServicoEmailParalela.EnviarAlertaCodigoBarra(item.Email, item.Regional, item.Empresa, item.Local, item.Evento, item.Horario.ToShortDateString(), item.Setor, item.Quantidade, criados);
 }
예제 #18
0
 public void EnviarEmailAssinaturas(EstruturaEmailAssinatura envio)
 {
     ServicoEmailParalela.EnviarEmailAssinaturas(envio.ClienteEmail, envio.Assunto, envio.Corpo);
 }
예제 #19
0
 public void EnviarBoletos(Cliente cliente, string linksBoleto, string assinaturasTabela)
 {
     ServicoEmailParalela.EnviarBoletos(cliente.Email.Valor, linksBoleto, assinaturasTabela);
 }
예제 #20
0
 internal void EnviarEmailEstorno(Cliente cliente, decimal valoresPagos, string s)
 {
     ServicoEmailParalela.EnviarEmailEstorno(cliente.Email.Valor, cliente.Nome.Valor, cliente.CPF.Valor, valoresPagos);
 }
예제 #21
0
        public bool Inserir(BD database, bool inserir)
        {
            try
            {
                bool result = false;

                oRoboCanalEvento.UsuarioID.Valor = this.Control.UsuarioID;
                oRoboCanalEvento.CanalID.Valor   = this.CanalID.Valor;
                oRoboCanalEvento.EventoID.Valor  = this.EventoID.Valor;
                oRoboCanalEvento.IsFilme.Valor   = false;


                if (oRoboCanalEvento.VerificarEventoGeradoDepois(this.CanalID.Valor) && !inserir)
                {
                    oRoboCanalEvento.Operacao.Valor = Convert.ToChar(RoboCanalEvento.operacaobanco.Inserir).ToString();
                    result = oRoboCanalEvento.Inserir(bd);
                }
                else
                {
                    oRoboCanalEvento.Operacao.Valor = Convert.ToChar(RoboCanalEvento.operacaobanco.Deleletar).ToString();
                    oRoboCanalEvento.Inserir(bd);

                    this.Control.Versao = 0;

                    StringBuilder sql = new StringBuilder();
                    sql.Append("INSERT INTO tCanalEvento(CanalID, EventoID, TaxaConveniencia,TaxaMinima,TaxaMaxima,TaxaComissao,ComissaoMinima,ComissaoMaxima) ");
                    sql.Append("VALUES (@001,@002,@003,@004,@005, @006, @007, @008); SELECT SCOPE_IDENTITY();");

                    sql.Replace("@001", this.CanalID.ValorBD);
                    sql.Replace("@002", this.EventoID.ValorBD);
                    sql.Replace("@003", this.TaxaConveniencia.ValorBD);
                    sql.Replace("@004", this.TaxaMinima.ValorBD);
                    sql.Replace("@005", this.TaxaMaxima.ValorBD);
                    sql.Replace("@006", this.TaxaComissao.ValorBD);
                    sql.Replace("@007", this.ComissaoMinima.ValorBD);
                    sql.Replace("@008", this.ComissaoMaxima.ValorBD);


                    object x = database.ConsultaValor(sql.ToString());
                    this.Control.ID = (x != null) ? Convert.ToInt32(x) : 0;

                    result = this.Control.ID > 0;

                    if (result)
                    {
                        InserirControle("I", database);
                    }
                    try
                    {
                        //se for canal internet envia e-mail
                        if (this.CanalID.ValorBD == Canal.CANAL_INTERNET.ToString())
                        {
                            Evento evento = new Evento();

                            string[] eventoLocalNome = evento.EventoLocalNome(this.EventoID.Valor);

                            string PARA       = System.Configuration.ConfigurationManager.AppSettings["EmailDestinoGeral"];
                            string PARA_ABRIL = System.Configuration.ConfigurationManager.AppSettings["EmailDestinoAbril"];

                            foreach (string destino in PARA.Split(','))
                            {
                                ServicoEmailParalela.EnviarInseridoCanalEventoLogistica(destino, eventoLocalNome[1], eventoLocalNome[0]);
                            }

                            foreach (string destino in PARA_ABRIL.Split(','))
                            {
                                ServicoEmailParalela.EnviarInseridoCanalEventoLogistica(destino, eventoLocalNome[1], eventoLocalNome[0]);
                            }
                        }
                    }
                    catch
                    { }
                }
                return(result);
            }
            catch (Exception ex)
            {
                database.DesfazerTransacao();
                throw ex;
            }
        }
예제 #22
0
 public void EnviarFeedbackCliente(string nomeCliente, string senhaVenda, string feedback)
 {
     ServicoEmailParalela.EnviarFeedbackCliente(DESTINATARIO_SAC, nomeCliente, senhaVenda, feedback);
 }