Exemplo n.º 1
0
        public CompraConsultaCestaItensResponse CompraConsultarCestaItens(CompraConsultaCestaItensRequest pParametro)
        {
            var lRetorno = new CompraConsultaCestaItensResponse();
            CompraConsultaCestaItemInfo compraConsultaCestaItemInfo;

            try
            {
                string lXml = ConexaoWS.WsCompra.CompraConsCestaItens(pParametro.Mercado, pParametro.CodigoCesta, pParametro.CodigoTitulo);

                gLogger.InfoFormat("Resposta recebida de ConexaoWS.WsCompra.CompraConsCestaItens(Mercado [{0}], CPFNegociador [{1}], CodigoTitulo [{2}]):\r\n{3}"
                                   , pParametro.Mercado
                                   , pParametro.CodigoCesta
                                   , pParametro.CodigoTitulo
                                   , 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())
                            {
                                compraConsultaCestaItemInfo = new CompraConsultaCestaItemInfo();

                                compraConsultaCestaItemInfo.CodigoCesta = titulo.Element("CODIGO_CESTA") != null?titulo.Element("CODIGO_CESTA").Value.DBToInt32() : 0;

                                compraConsultaCestaItemInfo.CodigoTitulo = titulo.Element("CODIGO_TITULO") != null?titulo.Element("CODIGO_TITULO").Value.DBToInt32() : 0;

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

                                compraConsultaCestaItemInfo.ValorCBLC = titulo.Element("VALOR_CBLC") != null?titulo.Element("VALOR_CBLC").Value.DBToDecimal() : 0;

                                compraConsultaCestaItemInfo.ValorAC = titulo.Element("VALOR_AC") != null?titulo.Element("VALOR_AC").Value.DBToDecimal() : 0;

                                compraConsultaCestaItemInfo.ValorCompra = titulo.Element("VALOR_COMPRA") != null?titulo.Element("VALOR_COMPRA").Value.DBToDecimal() : 0;

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

                                compraConsultaCestaItemInfo.ValorVenda = titulo.Element("VALOR_VENDA") != null?titulo.Element("VALOR_VENDA").Value.DBToDecimal() : 0;

                                compraConsultaCestaItemInfo.DataEmissao = titulo.Element("DATA_EMISSAO") != null?titulo.Element("DATA_EMISSAO").Value.DBToDateTime() : DateTime.MinValue;

                                compraConsultaCestaItemInfo.DataVencimento = titulo.Element("DATA_VENCIMENTO") != null?titulo.Element("DATA_VENCIMENTO").Value.DBToDateTime() : DateTime.MinValue;

                                compraConsultaCestaItemInfo.ISIN = titulo.Element("ISIN") != null?titulo.Element("ISIN").Value : "";

                                compraConsultaCestaItemInfo.SELIC = titulo.Element("SELIC") != null?titulo.Element("SELIC").Value.DBToInt32() : 0;

                                compraConsultaCestaItemInfo.NomeTitulo = titulo.Element("NOME_TITULO") != null?titulo.Element("NOME_TITULO").Value : "";

                                compraConsultaCestaItemInfo.TipoTitulo = titulo.Element("TIPO_TITULO") != null?titulo.Element("TIPO_TITULO").Value.DBToInt32() : 0;

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

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

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

                        gLogger.DebugFormat("COMPRA - CONSULTAR ITENS CESTA -->\n - CodigoCesta: {0}\n - Títulos: {1}", pParametro.CodigoCesta, lTitulos);
                    }
                }
            }
            catch (Exception ex)
            {
                lRetorno.StatusResposta    = Library.MensagemResponseStatusEnum.ErroNegocio;
                lRetorno.DescricaoResposta = ex.ToString();
                gLogger.Error("CompraConsultarCestaItens", ex);
            }

            return(lRetorno);
        }
Exemplo n.º 2
0
 public CompraConsultaCestaItensResponse CompraConsultarCestaItens(CompraConsultaCestaItensRequest pParametro)
 {
     return(new TesouroDiretoCompra().CompraConsultarCestaItens(pParametro));
 }