public static RetornoModel <EstruturaReservaInternet> MontarEstruturaReserva(CompraPagamentoModel pagamento, CompraModel compra) { if (compra.EstruturaVenda == null) { compra.EstruturaVenda = new CompraEstruturaVendaModel(); } if (compra.EstruturaVenda.UsuarioID == 0 || compra.EstruturaVenda.UsuarioID == IRLib.Usuario.INTERNET_USUARIO_ID) { compra.EstruturaVenda.CaixaID = 0; compra.EstruturaVenda.LojaID = Convert.ToInt32(ConfiguracaoAppUtil.Get(enumConfiguracaoBO.InternetLojaID)); compra.EstruturaVenda.UsuarioID = Convert.ToInt32(ConfiguracaoAppUtil.Get(enumConfiguracaoBO.InternetUsuarioID)); compra.EstruturaVenda.CanalID = Convert.ToInt32(ConfiguracaoAppUtil.Get(enumConfiguracaoBO.CanalInternet)); compra.EstruturaVenda.CanalTipo = 1; } else { if (compra.EstruturaVenda.CaixaErrado) { return new RetornoModel <EstruturaReservaInternet>() { Sucesso = false, Mensagem = "Esse caixa não pode verder na internet. Abra outro caixa!", Retorno = null } } ; else if (!compra.EstruturaVenda.CanalVerificado) { var canaisSplit = ConfiguracaoAppUtil.Get(enumConfiguracaoBO.CanaisInternet); if (!canaisSplit.Contains(compra.EstruturaVenda.CanalID.ToString()) || !new IRLib.Loja().ValidarLojaCanal(compra.EstruturaVenda.LojaID, new List <string>() { compra.EstruturaVenda.CanalID.ToString() })) { compra.EstruturaVenda.CaixaErrado = true; return(new RetornoModel <EstruturaReservaInternet>() { Sucesso = false, Mensagem = "Esse caixa não pode verder na internet. Abra outro caixa!", Retorno = null }); } compra.EstruturaVenda.CanalVerificado = true; } } EstruturaReservaInternet estrutura = new EstruturaReservaInternet() { CaixaID = compra.EstruturaVenda.CaixaID, LojaID = compra.EstruturaVenda.LojaID, UsuarioID = compra.EstruturaVenda.UsuarioID, CanalID = compra.EstruturaVenda.CanalID, ClienteID = compra.ClienteID, SessionID = compra.SessionID, GUID = Guid.NewGuid().ToString(), }; return(new RetornoModel <EstruturaReservaInternet>() { Mensagem = "OK", Sucesso = true, Retorno = estrutura }); }
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 }); } }