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 }); } }
public static RetornoModel <VendaRetornoModel> EfetuaVendaSistemaTEFCortesia(EstruturaPagamento oPagamento, string celular, CarrinhoLista oCarrinhoLista, CompraModel compra, CompraPagamentoModel compraPagamento) { Carrinho oCarrinho = new Carrinho(); IRLib.Bilheteria bilheteria = new IRLib.Bilheteria(); string[] retornoVenda = new string[4]; string retornoMSG = "Ok"; try { int clienteID = compra.ClienteID; string SessionID = compra.SessionID; List <EstruturaDonoIngresso> listaDonoIngresso = new List <EstruturaDonoIngresso>(); foreach (Carrinho carrinho in oCarrinhoLista.Where(c => c.isCota.Length > 0)) { listaDonoIngresso.Add(new EstruturaDonoIngresso() { CodigoPromocional = carrinho.CotaItem.CodigoPromocional, DonoID = carrinho.DonoID, CotaItemID = carrinho.CotaItemID, CotaItemIDAPS = carrinho.CotaItemIDAPS, CPF = carrinho.CotaItem.DonoCPF, IngressoID = carrinho.CotaItem.IngressoID, Nominal = carrinho.CotaItem.Nominal, UsarCPFResponsavel = false, }); } IRLib.Cliente oCliente = new IRLib.Cliente(); oCliente.Ler(clienteID); RetornoModel <EstruturaReservaInternet> reservaInternet = MontarEstruturaReserva(compraPagamento, compra); if (!reservaInternet.Sucesso) { return(new RetornoModel <VendaRetornoModel>() { Sucesso = false, Mensagem = reservaInternet.Mensagem }); } if (reservaInternet.Retorno.CaixaID == 0) { reservaInternet.Retorno.CaixaID = bilheteria.VerificaCaixaInternet( reservaInternet.Retorno.UsuarioID, reservaInternet.Retorno.LojaID); } retornoVenda = bilheteria.VenderWebCortesia(oPagamento, oCarrinho.IngressosTaxasCarrinho(clienteID, SessionID), SessionID, celular, listaDonoIngresso, reservaInternet.Retorno, oCarrinhoLista.TotalTaxaProcessamento(), oCliente, clienteID); VendaRetornoModel retorno = new VendaRetornoModel(); string tipoEntrega = string.Empty; bool eTicket = false; IRLib.Entrega entrega = new IRLib.Entrega(); if (oPagamento.EntregaControleID > 0) { tipoEntrega = entrega.BuscaTipo(oPagamento.EntregaControleID); eTicket = entrega.VerificaeTicket(oPagamento.EntregaControleID); } //ErroIndefinido = -1, FalhaVenda = 0, Sucesso = 1, ClienteInexistente = 2, ReservaInexistente = 3, TaxaEntregaInexistente = 4, FormaPagamentoNaoCadastrada = 5, ReservasCanceladas = 6, switch (retornoVenda[0]) { case "1": //Sucesso retorno.MsgCodigo = 1; if (retornoVenda.Length > 1) { retorno.Senha = retornoVenda[1]; } if (retornoVenda.Length > 2) { retorno.VendaBilheteriaID = Convert.ToInt32(retornoVenda[2]); } if (retornoVenda.Length > 3) { retorno.MsgCelular = retornoVenda[3]; } if (retornoVenda.Length > 4) { retorno.Risco = retornoVenda[4]; } retornoMSG = TratarEnvioEmailPagamento(oPagamento, oCarrinhoLista, oCliente, clienteID, SessionID, oCarrinho, eTicket, retornoVenda, tipoEntrega, retornoMSG, true); TratarEnvioNPS(oCliente); return(new RetornoModel <VendaRetornoModel>() { Sucesso = true, Mensagem = "OK", Retorno = retorno }); case "7": oCarrinho.SetStatusCarrinhoVV(clienteID, SessionID, "VV", Convert.ToInt64(retornoVenda[2])); if (retornoVenda[0] == "7") { retornoMSG = "Sua compra foi efetuada com sucesso, no entanto não foi possivel realizar a compra do Serviço de Seguro Mondial."; } retornoMSG = TratarEnvioEmailPagamento(oPagamento, oCarrinhoLista, oCliente, clienteID, SessionID, oCarrinho, eTicket, retornoVenda, tipoEntrega, retornoMSG); TratarEnvioNPS(oCliente); return(new RetornoModel <VendaRetornoModel>() { Sucesso = true, Mensagem = retornoMSG }); case "0": // falha ao inserir registro na tVendaBilheteria return(new RetornoModel <VendaRetornoModel>() { Sucesso = false, 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 <VendaRetornoModel>() { Sucesso = false, Mensagem = "Cliente Inexistente. A venda não pôde ser gerada." }); case "3": return(new RetornoModel <VendaRetornoModel>() { Sucesso = false, Mensagem = "Reserva Inexistente. A venda não pôde ser gerada." }); case "4": return(new RetornoModel <VendaRetornoModel>() { Sucesso = false, Mensagem = "Taxa de Entrega Inexistente. A venda não pôde ser gerada." }); case "6": return(new RetornoModel <VendaRetornoModel>() { Sucesso = false, Mensagem = "Reservas Canceladas. A venda não pôde ser gerada." }); default: return(new RetornoModel <VendaRetornoModel>() { Sucesso = false, Mensagem = retornoVenda[1] }); } } catch (ApplicationException ex) { LogUtil.Error(ex); return(new RetornoModel <VendaRetornoModel> { Sucesso = false, Mensagem = ex.Message }); } }