public CompraConsultaCestaResponse CompraConsultarCesta(CompraConsultaCestaRequest pParametro)
        {
            var lRetorno = new CompraConsultaCestaResponse();
            CompraConsultaCestaInfo compraConsultaCestaInfo;

            try
            {
                string lXml = ConexaoWS.WsCompra.CompraConsCesta(pParametro.ConsultaMercado, pParametro.ConsultaNegociadorCPF, pParametro.ConsultaCodigoCesta, pParametro.ConsultaDataCompra.ToString(), pParametro.ConsultaCodigoTitulo, pParametro.ConsultaCliente);

                gLogger.InfoFormat("Resposta recebida de ConexaoWS.WsCompra.CompraConsCesta(ConsultaMercado [{0}], ConsultaNegociadorCPF [{1}], ConsultaCodigoCesta [{2}], ConsultaDataCompra [{3}], ConsultaCodigoTitulo [{4}], ConsultaCliente [{5}]):\r\n{6}"
                                   , pParametro.ConsultaMercado
                                   , pParametro.ConsultaNegociadorCPF
                                   , pParametro.ConsultaCodigoCesta
                                   , pParametro.ConsultaDataCompra
                                   , pParametro.ConsultaCodigoTitulo
                                   , pParametro.ConsultaCliente
                                   , lXml);

                base.AtribDefaultValues();
                XElement root = null;
                base.GetStatus(lXml, out root);

                if (root.Element("CESTAS") != null)
                {
                    foreach (XElement cesta in root.Element("CESTAS").Elements())
                    {
                        if (cesta.Element("TITULOS") != null)
                        {
                            foreach (XElement titulo in cesta.Element("TITULOS").Elements())
                            {
                                compraConsultaCestaInfo = new CompraConsultaCestaInfo();

                                compraConsultaCestaInfo.Cliente = titulo.Element("CLIENTE") != null?titulo.Element("CLIENTE").Value : "";

                                compraConsultaCestaInfo.TituloNome = titulo.Element("TITULO_NOME") != null?titulo.Element("TITULO_NOME").Value : "";

                                compraConsultaCestaInfo.CodigoCesta = titulo.Element("CODIGO_CESTA") != null?titulo.Element("CODIGO_CESTA").Value : "";

                                compraConsultaCestaInfo.Mercado = titulo.Element("MERCADO") != null?titulo.Element("MERCADO").Value : "";

                                if (titulo.Element("NEGOCIADOR") != null)
                                {
                                    compraConsultaCestaInfo.Negociador        = new CodigoNomeInfo();
                                    compraConsultaCestaInfo.Negociador.CPF    = titulo.Element("NEGOCIADOR").Element("CPF").Value;
                                    compraConsultaCestaInfo.Negociador.Codigo = titulo.Element("NEGOCIADOR").Element("CODIGO_AC").Value;
                                }

                                compraConsultaCestaInfo.DataCompra = titulo.Element("DATA_COMPRA") != null?titulo.Element("DATA_COMPRA").Value.DBToDateTime() : DateTime.MinValue;

                                compraConsultaCestaInfo.Situacao = titulo.Element("SITUACAO") != null?titulo.Element("SITUACAO").Value : "";

                                compraConsultaCestaInfo.TipoCesta = titulo.Element("TIPO_CESTA") != null?titulo.Element("TIPO_CESTA").Value : "";

                                compraConsultaCestaInfo.IdNegociador = titulo.Element("ID_NEGOCIADOR") != null?titulo.Element("ID_NEGOCIADOR").Value.DBToInt32() : 0;

                                compraConsultaCestaInfo.CodigoTitulo = titulo.Element("CODIGO_TITULO") != null?titulo.Element("CODIGO_TITULO").Value : "";

                                compraConsultaCestaInfo.QuantidadeCompra = titulo.Element("QUANTIDADE_COMPRA") != null?titulo.Element("QUANTIDADE_COMPRA").Value.DBToInt32() : 0;

                                compraConsultaCestaInfo.ValorTitulo = titulo.Element("VALOR_TITULO") != null?titulo.Element("VALOR_TITULO").Value.DBToInt32() : 0;

                                compraConsultaCestaInfo.ValorTaxaCBLC = titulo.Element("VALOR_TAXA_CBLC") != null?titulo.Element("VALOR_TAXA_CBLC").Value.DBToDecimal() : 0;

                                compraConsultaCestaInfo.ValorTaxaAC = titulo.Element("VALOR_TAXA_AC") != null?titulo.Element("VALOR_TAXA_AC").Value.DBToDecimal() : 0;

                                lRetorno.Objeto.Add(compraConsultaCestaInfo);
                            }
                        }
                    }

                    {   //--> Log
                        string lTitulos = string.Empty;

                        if (null != lRetorno.Objeto && lRetorno.Objeto.Count > 0)
                        {
                            lRetorno.Objeto.ForEach(lTitulo => { lTitulos += "Título: " + lTitulo.TituloNome + "; Valor: " + lTitulo.ValorTitulo + "\n"; });
                        }

                        gLogger.DebugFormat("COMPRA - CONSULTAR CESTA -->\n - CPF/CNPJ: {0}\n - CodigoCesta: {1}\n - CodigoMercado: {2}\n - Títulos: {3}", pParametro.ConsultaNegociadorCPF, pParametro.ConsultaCodigoCesta, pParametro.ConsultaMercado, lTitulos);
                    }
                }
            }
            catch (Exception ex)
            {
                lRetorno.StatusResposta    = Library.MensagemResponseStatusEnum.ErroNegocio;
                lRetorno.DescricaoResposta = ex.ToString();
                gLogger.Error("CompraConsultarCesta", ex);
            }

            return(lRetorno);
        }
 public CompraConsultaCestaResponse CompraConsultarCesta(CompraConsultaCestaRequest pParametro)
 {
     return(new TesouroDiretoCompra().CompraConsultarCesta(pParametro));
 }