Ejemplo n.º 1
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);
            }
        }
Ejemplo n.º 2
0
        public static RetornoModel <string> EfetuaVendaSistemaComprarVIR(EstruturaPagamento oPagamento, EstruturaReservaInternet estruturaReservaInternet, string celular, CarrinhoLista oCarrinhoLista, CompraModel compra)
        {
            Carrinho oCarrinho = new Carrinho();

            IRLib.Bilheteria bilheteria   = new IRLib.Bilheteria();
            string[]         retornoVenda = new string[3];

            string senha      = string.Empty;
            string msgRetorno = "Ok";

            try
            {
                int    clienteID = compra.ClienteID;
                string SessionID = compra.SessionID;

                IRLib.Cliente oCliente = new IRLib.Cliente();
                oCliente.Ler(clienteID);

                if (oCliente.Control.ID == 0)
                {
                    return new RetornoModel <string>()
                           {
                               Sucesso = false, Retorno = senha, Mensagem = "Não foi possível localizar o seu cadastro, por favor, tente novamento."
                           }
                }
                ;

                retornoVenda = bilheteria.VenderVIRWeb(oPagamento, oCarrinho.getValeIngressoID(clienteID, SessionID).ToArray(), SessionID, new List <EstruturaVirNomePresenteado>(), estruturaReservaInternet, celular, oCliente);

                //ErroIndefinido = -1, FalhaVenda = 0, Sucesso = 1, ClienteInexistente = 2, ReservaInexistente = 3, TaxaEntregaInexistente = 4, FormaPagamentoNaoCadastrada = 5, ReservasCanceladas = 6,
                switch (retornoVenda[0])
                {
                case "1":     //Sucesso
                    oCarrinho.SetStatusCarrinho(clienteID, SessionID, "VV");

                    oCarrinhoLista.CarregarDadosVIRporClienteIDSessionID(clienteID, SessionID, CarrinhoLista.Status.VendidoEmail);

                    senha = retornoVenda[1];

                    IngressoRapido.Lib.Entrega oEntrega = new IngressoRapido.Lib.Entrega();
                    EstruturaEntrega           oEE      = oEntrega.CarregarEstruturaPeloControleID(oPagamento.EntregaControleID);

                    string formpagamento = string.Empty;
                    if (oPagamento.TipoPagamento == EstruturaPagamento.enumTipoPagamento.Nenhum)
                    {
                        formpagamento = "Cortesia";
                    }
                    else if (oPagamento.TipoPagamento == EstruturaPagamento.enumTipoPagamento.VIR)
                    {
                        formpagamento = "Vale Ingresso";
                    }
                    else
                    {
                        formpagamento = oPagamento.BandeiraNome.ToString() + " - " + oPagamento.Parcelas + "X";
                    }

                    try
                    {
                        if (!string.IsNullOrEmpty(oCliente.CNPJ.Valor))
                        {
                            IRLib.ServicoEmail.EnviarVendaAprovadaVir(oCliente.NomeFantasia.Valor, oCliente.Email.Valor, retornoVenda[1], string.Empty, "Site", DateTime.Now.ToString(), "Site", formpagamento, string.Empty, oEE.Nome);
                        }
                        else
                        {
                            IRLib.ServicoEmail.EnviarVendaAprovadaVir(oCliente.Nome.Valor, oCliente.Email.Valor, retornoVenda[1], string.Empty, "Site", DateTime.Now.ToString(), "Site", formpagamento, string.Empty, oEE.Nome);
                        }
                    }
                    catch
                    {
                        msgRetorno = "Sua compra foi efetuada com sucesso no entando o envio para o Email informado gerou um erro, por favor entre em contato com a Ingresso Rápido informando a senha de compra";
                    }

                    oCarrinho.SetStatusCarrinho(clienteID, SessionID, "V");

                    return(new RetornoModel <string>()
                    {
                        Sucesso = true, Retorno = senha, Mensagem = msgRetorno
                    });

                case "0":     // falha ao inserir registro na tVendaBilheteria
                    return(new RetornoModel <string>()
                    {
                        Sucesso = false, Retorno = senha, Mensagem = "Falha ao efetuar o pedido. A venda não pôde ser gerada."
                    });

                case "2":     // falha ao inserir registro na tVendaBilheteria
                    return(new RetornoModel <string>()
                    {
                        Sucesso = false, Retorno = senha, Mensagem = "Cliente Inexistente. A venda não pôde ser gerada."
                    });

                case "3":
                    return(new RetornoModel <string>()
                    {
                        Sucesso = false, Retorno = senha, Mensagem = "Reserva Inexistente. A venda não pôde ser gerada."
                    });

                case "4":
                    return(new RetornoModel <string>()
                    {
                        Sucesso = false, Retorno = senha, Mensagem = "Taxa de Entrega Inexistente. A venda não pôde ser gerada."
                    });

                case "6":
                    return(new RetornoModel <string>()
                    {
                        Sucesso = false, Retorno = senha, Mensagem = "Reservas Canceladas. A venda não pôde ser gerada."
                    });

                case "-1":
                    return(new RetornoModel <string>()
                    {
                        Sucesso = false, Retorno = senha, Mensagem = retornoVenda[1]
                    });

                default:
                    return(new RetornoModel <string>()
                    {
                        Sucesso = false, Retorno = senha, Mensagem = "Falha ao efetuar o pedido. Erro indefinido."
                    });
                }
            }
            catch (ApplicationException ex)
            {
                return(new RetornoModel <string> {
                    Sucesso = false, Retorno = senha, Mensagem = ex.Message
                });
            }
        }