Example #1
0
        private void SolicitarDocumentos(object objVenda)
        {
            if (!(objVenda is EstruturaVenda))
            {
                return;
            }

            EstruturaVenda venda = (EstruturaVenda)objVenda;

            try
            {
                oVendaBilheteria.Score.Valor = venda.Score;
                oVendaBilheteria.AtualizarStatusAntiFraude(venda.ID, VendaBilheteria.StatusAntiFraude.EmAnalise, venda.Score, venda.RetornoAccertify);

                EstruturaTransacoesDetalhes detalheVendas = oVendaBilheteria.AcompanhamentoIngressos(venda.ID);

                if (ConfigurationManager.AppSettings["CanaisImais"].ToString().Contains(detalheVendas.CanalID.ToString()))
                {
                    email.EnviarSolicitacaoDocumentos_im(venda.Cliente.ID, detalheVendas);
                }
                else
                {
                    email.EnviarSolicitacaoDocumentos(venda.Cliente.ID, detalheVendas);
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Solicitar Documentos : " + ex.Message);
            }
        }
Example #2
0
        public string MontarProcedimento(EstruturaTransacoesDetalhes venda)
        {
            try
            {
                List <int>    eventos      = venda.ListaIngressos.Select(c => c.EventoID).Distinct().ToList();
                List <string> eventosNomes = venda.ListaIngressos.Select(c => c.Evento).Distinct().ToList();

                EventoTaxaEntrega eventoTaxaEntrega = new EventoTaxaEntrega();
                Entrega           oEntrega          = new Entrega();
                EstruturaEntrega  oEE = oEntrega.CarregarEstruturaPeloControleID(venda.EntregaControleID);

                List <string> detalhes = eventoTaxaEntrega.DetalhesEntregaPorEventos(eventos, oEE.ID);

                StringBuilder tabela = new StringBuilder();

                tabela.Append(@"<table width='540' border='0'><tr><td style='font-size: 12px;'>");

                if (detalhes.Count == 0)
                {
                    tabela.Append("<b>Detalhe de Entrega:</b>" + oEE.ProcedimentoEntrega);
                }
                else if (detalhes.Count == eventosNomes.Count)
                {
                    for (int i = 0; i < eventosNomes.Count; i++)
                    {
                        tabela.Append("<b>Evento: </b> " + eventosNomes[i]);
                        string detalheEntrega = eventoTaxaEntrega.DetalheEntregaEvento(eventos[i], oEE.ID);
                        tabela.Append("<br/><br/><b>Detalhe da entrega: </b> " + detalheEntrega + "<br/>");
                    }
                }
                else
                {
                    if (detalhes.Count > 0)
                    {
                        tabela.Append("<br/><b>Detalhe da Entrega: </b> ");
                    }

                    foreach (string str in detalhes)
                    {
                        tabela.Append("<br/> " + str);
                    }
                }

                tabela.Append(@"</td></tr></table>");

                return(tabela.ToString());
            }
            catch (Exception ex)
            {
                throw new Exception("Procedimento : " + ex.Message);
            }
        }
Example #3
0
        private void Aprovar(object objVenda)
        {
            if (!(objVenda is EstruturaVenda))
            {
                return;
            }

            EstruturaVenda venda = (EstruturaVenda)objVenda;

            try
            {
                List <IngressoImpressao> listaIngressos = new List <IngressoImpressao>();
                var status = VendaBilheteria.StatusAntiFraude.Aprovado;

                oVendaBilheteria.Score.Valor = venda.Score;
                oVendaBilheteria.AtualizarStatusAntiFraude(venda.ID, status, venda.Score, venda.RetornoAccertify);

                EstruturaTransacoesDetalhes detalheVendas = oVendaBilheteria.AcompanhamentoIngressos(venda.ID);

                if (detalheVendas.PermitirImpressaoInternet)
                {
                    listaIngressos = ingressos.PesquisaVendaBilheteria(detalheVendas.VendaBilheteriaID);
                }

                if (listaIngressos.Count > 0)
                {
                    if (ConfigurationManager.AppSettings["CanaisImais"].ToString().Contains(detalheVendas.CanalID.ToString()))
                    {
                        email.EnviarConfirmacaoCompraComIngresso_im(venda.Cliente.ID, detalheVendas, listaIngressos);
                    }
                    else
                    {
                        email.EnviarConfirmacaoCompraComIngresso(venda.Cliente.ID, detalheVendas, listaIngressos);
                    }
                }
                else
                {
                    if (ConfigurationManager.AppSettings["CanaisImais"].ToString().Contains(detalheVendas.CanalID.ToString()))
                    {
                        email.EnviarConfirmacaoCompra_im(venda.Cliente.ID, detalheVendas);
                    }
                    else
                    {
                        email.EnviarConfirmacaoCompra(venda.Cliente.ID, detalheVendas);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Aprovar : " + ex.Message);
            }
        }
Example #4
0
        public void EnviarConfirmacaoCompra(int clienteID, EstruturaTransacoesDetalhes venda, bool debugMail = false)
        {
            try
            {
                var email = BuscaEmailCliente(clienteID);

                if (!string.IsNullOrEmpty(email[0]))
                {
                    string pedido  = MontarDetalhes(venda);
                    string entrega = MontarProcedimento(venda);
                    ServicoEmail.EnviarVendaAprovada(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("EnviarConfirmacaoCompra : " + ex.Message);
            }
        }
Example #5
0
        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);
            }
        }
Example #6
0
        public void EnviarCancelamentoFraude(int clienteID, EstruturaTransacoesDetalhes venda, bool debugMail = false)
        {
            try
            {
                var email = BuscaEmailCliente(clienteID);

                if (string.IsNullOrEmpty(email[0]))
                {
                    return;
                }

                var pedido  = MontarDetalhes(venda);
                var entrega = MontarProcedimento(venda);
                ServicoEmail.EnviarEmailCancelamentoFraude(email[1], email[0], venda.Senha, pedido, venda.Atendente, venda.DataVenda.ToString(CultureInfo.InvariantCulture), venda.Canal, venda.FormasPagamento(), entrega, venda.TaxaEntrega);
            }
            catch (Exception ex)
            {
                throw new Exception("EnviarCancelamentoCompra : " + ex.Message);
            }
        }
Example #7
0
        public void EnviarConfirmacaoCompraComIngresso_im(int clienteID, EstruturaTransacoesDetalhes venda, List <IngressoImpressao> listaIngressos, bool debugMail = false)
        {
            try
            {
                var email = BuscaEmailCliente(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();

                    ServicoEmail.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);
            }
        }
Example #8
0
        public string MontarDetalhes(EstruturaTransacoesDetalhes venda)
        {
            try
            {
                StringBuilder tabela = new StringBuilder();

                decimal soma = 0;
                soma = venda.TaxaEntregaValor;

                tabela.Append("<table width='540' border='0' style='font-size: 12px;'>");

                bool    replaceMesaFechada = false;
                int     LugarAnterior = 0;
                decimal precoMesa = 0, ConvenienciaMesa = 0;

                foreach (var item in venda.ListaIngressos)
                {
                    tabela.Append(@"<tr><td width='242' bgcolor='#EBECEE' style='padding-left: 5px;'>");

                    if (item.LugarID != LugarAnterior)
                    {
                        replaceMesaFechada = false;
                        tabela.Replace("##PrecoMesa##", precoMesa.ToString("c"));
                        tabela.Replace("##ConvenienciaMesa##", ConvenienciaMesa.ToString("c"));
                    }

                    if (item.TipoLugar == "M")
                    {
                        if (item.LugarID != LugarAnterior)
                        {
                            replaceMesaFechada = true;
                            precoMesa          = 0;
                            ConvenienciaMesa   = 0;
                            LugarAnterior      = item.LugarID;
                            tabela.Append("<b>Local: </b>" + item.Local + "<br />");
                            tabela.Append("<b>Evento: </b>" + item.Evento + "<br />");
                            tabela.Append("<b>Setor: </b>" + item.Setor + "<br />");
                            string dateFormat = hasDateTime(item.Setor, new string[] { "HH:mm" }) ? "dd/MM/yy" : "dd/MM/yy HH:mm";
                            tabela.Append("<b>Data: </b>" + (item.Apresentacao != DateTime.MinValue ? item.Apresentacao.ToString(dateFormat) : "-") + "</p></td>");

                            tabela.Append("<td bgcolor='#EBECEE'>");
                            tabela.Append("<b>Ingresso: </b>" + item.Codigo + "<br />");
                            tabela.Append("<b>Tipo: </b>" + item.PrecoNome + "<br />");
                            tabela.Append("<b>Preço: </b>##PrecoMesa##<br />");
                            tabela.Append("<b>Taxa de Conveniência: </b>##ConvenienciaMesa##</td>");

                            precoMesa        = item.Valor;
                            ConvenienciaMesa = item.TaxaConveniencia;
                            soma            += item.Valor + item.TaxaConveniencia;
                        }
                        else
                        {
                            precoMesa        += item.Valor;
                            ConvenienciaMesa += item.TaxaConveniencia;
                            soma             += item.Valor + item.TaxaConveniencia;
                        }
                    }
                    else
                    {
                        tabela.Append("<b>Local: </b>" + item.Local + "<br />");
                        tabela.Append("<b>Evento: </b>" + item.Evento + "<br />");
                        tabela.Append("<b>Setor: </b>" + item.Setor + "<br />");
                        string dateFormat = hasDateTime(item.Setor, new string[] { "HH:mm" }) ? "dd/MM/yy" : "dd/MM/yy HH:mm";
                        tabela.Append("<b>Data: </b>" + (item.Apresentacao != DateTime.MinValue ? item.Apresentacao.ToString(dateFormat) : "-") + "</td>");
                        tabela.Append("<td bgcolor='#EBECEE'>");
                        tabela.Append("<b>Ingresso: </b>" + item.Codigo + "<br />");
                        tabela.Append("<b>Tipo: </b>" + item.PrecoNome + "<br />");
                        tabela.Append("<b>Preço: </b>" + item.Valor.ToString("c") + "<br />");
                        tabela.Append("<b>Taxa de Conveniência: </b>" + item.TaxaConveniencia.ToString("c") + " </td>");

                        soma += item.Valor + item.TaxaConveniencia;
                    }

                    tabela.Append(@"</tr>");
                }

                if (replaceMesaFechada)
                {
                    replaceMesaFechada = false;
                    tabela.Replace("##PrecoMesa##", precoMesa.ToString("c"));
                    tabela.Replace("##ConvenienciaMesa##", ConvenienciaMesa.ToString("c"));
                }

                tabela.Append(@"</table>");
                tabela.Append(@"<table width='540' border='0'>");

                if (venda.TaxaEntregaID > 0)
                {
                    tabela.Append("<tr ><td bgcolor='#D2D6D7' align='right'><b>" + venda.TaxaEntrega + ": </b>" + venda.TaxaEntregaValor.ToString("c") + "</td></tr>");
                }
                tabela.Append("<tr ><td bgcolor='#D2D6D7' align='right'><b>" + soma.ToString("c") + "</td></tr>");
                tabela.Append(@"</table>");

                return(tabela.ToString());
            }
            catch (Exception ex)
            {
                throw new Exception("Detalhes : " + ex.Message);
            }
        }
Example #9
0
        private void Aprovar(object objVenda)
        {
            var sw = new Stopwatch();

            sw.Start();

            if (!(objVenda is EstruturaVenda))
            {
                LogUtil.Debug(string.Format("##HammerHead.Aprovar.ERRO## OBJ_VENDA: {0}", objVenda));
                return;
            }

            EstruturaVenda venda = (EstruturaVenda)objVenda;

            try
            {
                LogUtil.Debug(string.Format("##HammerHead.Aprovar## VENDA: {0}", venda.ID));

                var listaIngressos = new List <IngressoImpressao>();
                var status         = VendaBilheteria.StatusAntiFraude.Aprovado;

                oVendaBilheteria.Score.Valor = venda.Score;
                oVendaBilheteria.AtualizarStatusAntiFraude(venda.ID, status, venda.Score, venda.RetornoAccertify);
                LogUtil.Debug(string.Format("##HammerHead.Aprovar.AtualizarStatusAntiFraudeCalled## VENDA: {0}, TEMPO_DECORRIDO: {1} ms", venda.ID, sw.ElapsedMilliseconds));

                EstruturaTransacoesDetalhes detalheVendas = oVendaBilheteria.AcompanhamentoIngressos(venda.ID);
                LogUtil.Debug(string.Format("##HammerHead.Aprovar.AcompanhamentoIngressosCalled## VENDA: {0}, TEMPO_DECORRIDO: {1} ms", venda.ID, sw.ElapsedMilliseconds));

                LogUtil.Debug(string.Format("##HammerHead.Aprovar## VENDA: {0}, IMPRESSÃO_INTERNET: {1}", venda.ID, detalheVendas.PermitirImpressaoInternet));
                if (detalheVendas.PermitirImpressaoInternet)
                {
                    listaIngressos = ingressos.PesquisaVendaBilheteria(detalheVendas.VendaBilheteriaID);
                    LogUtil.Debug(string.Format("##HammerHead.Aprovar.PesquisaVendaBilheteriaCalled## VENDA: {0}, TEMPO_DECORRIDO: {1} ms", venda.ID, sw.ElapsedMilliseconds));
                }

                if (listaIngressos.Count > 0)
                {
                    LogUtil.Debug(string.Format("##HammerHead.Aprovar.EnviarEmail## VENDA: {0}, MSG: {1}", venda.ID, "EnviarConfirmacaoCompraComIngresso"));

                    if (
                        ConfigurationManager.AppSettings["CanaisImais"].ToString()
                        .Contains(detalheVendas.CanalID.ToString()))
                    {
                        email.EnviarConfirmacaoCompraComIngresso_im(venda.Cliente.ID, detalheVendas, listaIngressos,
                                                                    ConfiguracaoHammerHead.Instancia.Configuracao.AmbienteDeTestes.Valor);
                    }
                    else
                    {
                        email.EnviarConfirmacaoCompraComIngresso(venda.Cliente.ID, detalheVendas, listaIngressos,
                                                                 ConfiguracaoHammerHead.Instancia.Configuracao.AmbienteDeTestes.Valor);
                    }
                }
                else
                {
                    LogUtil.Debug(string.Format("##HammerHead.Aprovar.EnviarEmail## VENDA: {0}, MSG: {1}", venda.ID,
                                                "EnviarConfirmacaoCompra"));

                    if (
                        ConfigurationManager.AppSettings["CanaisImais"].ToString()
                        .Contains(detalheVendas.CanalID.ToString()))
                    {
                        email.EnviarConfirmacaoCompra_im(venda.Cliente.ID, detalheVendas,
                                                         ConfiguracaoHammerHead.Instancia.Configuracao.AmbienteDeTestes.Valor);
                    }
                    else
                    {
                        email.EnviarConfirmacaoCompra(venda.Cliente.ID, detalheVendas,
                                                      ConfiguracaoHammerHead.Instancia.Configuracao.AmbienteDeTestes.Valor);
                    }
                }

                LogUtil.Debug(string.Format("##HammerHead.Aprovar.EmailConfirmacaoEnviado## VENDA: {0}, TEMPO_DECORRIDO: {1} ms", venda.ID, sw.ElapsedMilliseconds));
            }
            catch (Exception ex)
            {
                LogUtil.Error(
                    string.Format("##HammerHead.Aprovar.EXCEPTION## VENDA: {0}, MSG: {1}", venda.ID, ex.Message), ex);
                throw new Exception("Erro ao Aprovar : " + ex.Message);
            }
            finally
            {
                sw.Stop();
                LogUtil.Debug(string.Format("##HammerHead.Aprovar.FINISHED## VENDA: {0}, TEMPO_DECORRIDO: {1}", venda.ID, sw.ElapsedMilliseconds));
            }
        }