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); } }
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 }); } }