public static List <PedidoPaypal> RetornaPedidoPagamento(string codigopedido, string datasource, string schema)
        {
            List <PedidoPaypal> lstret = new List <PedidoPaypal>();

            StringBuilder query = new StringBuilder();

            query.AppendLine(" select cagecdcadastro,pefacdenderecoentrega,p.pefatxtipofrete, pi.prodcdproduto as cdproduto , p.pefanrpedido as codped,UPPER(nmproduto) as nmproduto, pi.pefivrpreconota as preco,pi.pefiqtfaturada as quantidade, nvl(max(p.pefavrfrete),0) as frete, ");
            query.AppendLine("  ft_comissaoparceiro(pi.pefivrprecovenda*pi.pefiqtfaturada,pi.pefivrpreconota* pi.pefiqtfaturada ,NVL((select max(cdformapagamento) from pedidofaturadopagamento where pefanrpedido =p.pefanrpedido),0),NVL((select max(pefpqtparcelas) from pedidofaturadopagamento where pefanrpedido =p.pefanrpedido),0),1,1) as totalcomissao,   ");
            query.AppendLine("  ft_comissaoparceiro(pi.pefivrprecovenda*pi.pefiqtfaturada,pi.pefivrpreconota* pi.pefiqtfaturada ,NVL((select max(cdformapagamento) from pedidofaturadopagamento where pefanrpedido =p.pefanrpedido),0),NVL((select max(pefpqtparcelas) from pedidofaturadopagamento where pefanrpedido =p.pefanrpedido),0),1,0) as over,   ");
            query.AppendLine("  ft_comissaoparceiro(pi.pefivrprecovenda*pi.pefiqtfaturada,pi.pefivrpreconota* pi.pefiqtfaturada ,NVL((select max(cdformapagamento) from pedidofaturadopagamento where pefanrpedido =p.pefanrpedido),0),NVL((select max(pefpqtparcelas) from pedidofaturadopagamento where pefanrpedido =p.pefanrpedido),0),0,1) as comissao ");
            query.AppendLine(" from pedidofaturado p, pedidofaturadoitem pi , vw_tele_produto vw ");
            query.AppendLine(" where p.pefanrpedido = pi.pefanrpedido ");
            query.AppendLine(" and pi.prodcdproduto = vw.cdproduto ");
            query.AppendLine(" and p.pefanrpedido =" + codigopedido);
            query.AppendLine(" group by cagecdcadastro,pefacdenderecoentrega,p.pefatxtipofrete, pi.prodcdproduto,p.pefanrpedido , UPPER(nmproduto),pefivrmercadoria,pi.pefivrpreconota,pi.pefiqtfaturada,pi.pefivrprecovenda");


            PedidoConsulta pc;

            using (OracleConnection connection = new OracleConnection(Util.OracleHelper.StrConn(schema, datasource)))
            {
                OracleCommand command = new OracleCommand(query.ToString(), connection);
                connection.Open();
                using (OracleDataReader reader = command.ExecuteReader())
                {
                    PedidoPaypal ped = null;
                    while (reader.Read())
                    {
                        ped                   = new PedidoPaypal();
                        ped.cdproduto         = reader["cdproduto"].ToString();
                        ped.codped            = reader["codped"].ToString();
                        ped.frete             = Convert.ToDouble(reader["frete"].ToString());
                        ped.nmproduto         = reader["nmproduto"].ToString();
                        ped.preco             = Convert.ToDouble(reader["preco"].ToString());
                        ped.quantidade        = Convert.ToDouble(reader["quantidade"].ToString());
                        ped.txfrete           = reader["pefatxtipofrete"].ToString();
                        ped.cdenderecoentrega = reader["pefacdenderecoentrega"].ToString();
                        ped.cdcliente         = reader["cagecdcadastro"].ToString();
                        ped.comissao          = Convert.ToDouble(reader["comissao"].ToString());
                        ped.over              = Convert.ToDouble(reader["over"].ToString());
                        ped.totalcomissao     = Convert.ToDouble(reader["totalcomissao"].ToString());
                        lstret.Add(ped);
                    }
                }
            }
            return(lstret);
        }
        public static PedidoRetTrayNotificacao RetornaPedidoTrayckoutConfirm(string codpedpagar, string datasource, string schema)
        {
            PedidoRetTrayNotificacao ret   = new PedidoRetTrayNotificacao();
            StringBuilder            query = new StringBuilder();

            query.Append("     SELECT ");
            query.AppendLine(" pefanrpedido codped,");
            query.AppendLine(" fopacdforma forma,");
            query.AppendLine(" pefpvrpago valorpago,");
            query.AppendLine(" pefpqtparcelas parcelas,");
            query.AppendLine(" pefpcdpagamento codpag,");
            query.AppendLine(" pefpcdoperadorpag operador,");
            query.AppendLine(" pefpnrautorizacao nrautorizacao,");
            query.AppendLine(" cdformapagamento");
            query.AppendLine(" FROM pedidofaturadopagamento WHERE  pefpcdpagamento =" + codpedpagar);


            using (OracleConnection connection = new OracleConnection(Util.OracleHelper.StrConn(schema, datasource)))
            {
                OracleCommand command = new OracleCommand(query.ToString(), connection);
                connection.Open();
                using (OracleDataReader reader = command.ExecuteReader())
                {
                    PedidoPaypal ped = null;
                    while (reader.Read())
                    {
                        ret                  = new PedidoRetTrayNotificacao();
                        ret.codped           = reader["codped"].ToString();
                        ret.forma            = reader["forma"].ToString();
                        ret.valorpago        = reader["valorpago"].ToString();
                        ret.parcelas         = reader["parcelas"].ToString();
                        ret.codpag           = reader["codpag"].ToString();
                        ret.operador         = reader["operador"].ToString();
                        ret.nrautorizacao    = reader["nrautorizacao"].ToString();
                        ret.cdformapagamento = reader["cdformapagamento"].ToString();
                    }
                }
            }

            return(ret);
        }
        public static PedidoDetalheRet RetornaPedidoDetalhe(string codpedpagar, string datasource, string schema)
        {
            PedidoDetalheRet ret = new PedidoDetalheRet();


            ret.pedidoPagamentoDet = RetornaPedidoPagamentoDet(codpedpagar, datasource, schema);
            ret.lstprodutos        = RetornaPedidoPagamento(codpedpagar, datasource, schema);

            PedidoPaypal pedp = (from a in ret.lstprodutos
                                 select a).FirstOrDefault();


            ret.endereco = EnderecoADO.RetornaEnderecoById(pedp.cdenderecoentrega, datasource, schema);

            var cdcliente = (from a in ret.lstprodutos
                             select a).FirstOrDefault();

            ret.cliente = ClienteADO.RetornaClientById(cdcliente.cdcliente, datasource, schema);

            return(ret);
        }