public CompraConsultaTituloMercadoResponse CompraConsultarTituloMercado(CompraConsultaTituloMercadoRequest pParametro) { var lRetorno = new CompraConsultaTituloMercadoResponse(); TituloMercadoInfo tituloMercadoInfo; try { string lXml = ConexaoWS.WsCompra.CompraConsTitMercado(pParametro.CodigoMercado , pParametro.CodigoTitulo , pParametro.Tipo , pParametro.DataEmissao.DBToDateTimeString() , pParametro.DataVencimento.DBToDateTimeString() , pParametro.TipoIndexador , pParametro.SELIC.ToString() , pParametro.ISIN , pParametro.NotCesta); gLogger.InfoFormat("Resposta recebida de ConexaoWS.WsCompra.CompraConsTitMercado(CodigoMercado [{0}], CodigoTitulo [{1}], Tipo [{2}], DataEmissao [{3}], DataVencimento [{4}], TipoIndexador [{5}], SELIC [{6}], ISIN [{7}], NotCesta [{8}]):\r\n{9}" , pParametro.CodigoMercado , pParametro.CodigoTitulo , pParametro.Tipo , pParametro.DataEmissao , pParametro.DataVencimento , pParametro.TipoIndexador , pParametro.SELIC , pParametro.ISIN , pParametro.NotCesta , lXml); base.AtribDefaultValues(); XElement root = null; base.GetStatus(lXml, out root); if (root.Element("TITULOS_MERCADO") != null) { XElement elemTitulosMercado = root.Element("TITULOS_MERCADO"); foreach (XElement item in elemTitulosMercado.Elements()) { tituloMercadoInfo = new TituloMercadoInfo(); tituloMercadoInfo.Mercado = item.Element("MERCADO") != null?item.Element("MERCADO").Value.DBToInt32() : 0; tituloMercadoInfo.CodigoTitulo = item.Element("CODIGO_TITULO") != null?item.Element("CODIGO_TITULO").Value.DBToInt32() : 0; tituloMercadoInfo.NomeTitulo = item.Element("NOME_TITULO") != null?item.Element("NOME_TITULO").Value : ""; if (item.Element("TIPO") != null) { tituloMercadoInfo.Tipo = new CodigoNomeInfo(); tituloMercadoInfo.Tipo.Codigo = item.Element("TIPO").Element("CODIGO").Value; tituloMercadoInfo.Tipo.Nome = item.Element("TIPO").Element("NOME").Value; } tituloMercadoInfo.SELIC = item.Element("SELIC") != null?item.Element("SELIC").Value : ""; tituloMercadoInfo.ISIN = item.Element("ISIN") != null?item.Element("SELIC").Value : ""; tituloMercadoInfo.DataEmissao = item.Element("DATA_EMISSAO") != null?item.Element("DATA_EMISSAO").Value.DBToDateTime() : DateTime.MinValue; tituloMercadoInfo.DataVencimento = item.Element("DATA_VENCIMENTO") != null?item.Element("DATA_VENCIMENTO").Value.DBToDateTime() : DateTime.MinValue; tituloMercadoInfo.QuantidadeDisponivelCompra = item.Element("QUANTIDADE_DISPONIVEL_COMPRA") != null?item.Element("QUANTIDADE_DISPONIVEL_COMPRA").Value.DBToInt32() : 0; tituloMercadoInfo.QuantidadeDisponivelVenda = item.Element("QUANTIDADE_DISPONIVEL_VENDA") != null?item.Element("QUANTIDADE_DISPONIVEL_VENDA").Value.DBToInt32() : 0; tituloMercadoInfo.ValorBase = item.Element("VALOR_BASE") != null?item.Element("VALOR_BASE").Value.DBToDecimal() : 0; tituloMercadoInfo.ValorCompra = item.Element("VALOR_COMPRA") != null?item.Element("VALOR_COMPRA").Value.DBToDecimal() : 0; tituloMercadoInfo.ValorTaxaCompra = item.Element("VALOR_TAXA_COMPRA") != null?item.Element("VALOR_TAXA_COMPRA").Value.DBToDecimal() : 0; tituloMercadoInfo.ValorVenda = item.Element("VALOR_VENDA") != null?item.Element("VALOR_VENDA").Value.DBToDecimal() : 0; tituloMercadoInfo.ValorTaxaVenda = item.Element("VALOR_TAXA_VENDA") != null?item.Element("VALOR_TAXA_VENDA").Value.DBToDecimal() : 0; if (item.Element("INDEXADOR") != null) { tituloMercadoInfo.Indexador = new CodigoNomeInfo(); tituloMercadoInfo.Indexador.Codigo = item.Element("INDEXADOR").Element("CODIGO") != null?item.Element("INDEXADOR").Element("CODIGO").Value : ""; tituloMercadoInfo.Indexador.Nome = item.Element("INDEXADOR").Element("CODIGO") != null?item.Element("INDEXADOR").Element("NOME").Value : ""; } lRetorno.Titulos.Add(tituloMercadoInfo); } { //--> Log string lTitulos = string.Empty; if (null != lRetorno.Titulos && lRetorno.Titulos.Count > 0) { lRetorno.Titulos.ForEach(lTitulo => { lTitulos += "Título: " + lTitulo.NomeTitulo + "; Valor: " + lTitulo.ValorTitulo + "\n"; }); } gLogger.DebugFormat("COMPRA - CONSULTAR TITULO -->n - CodigoMercado: {0}\n - Títulos: {1}", pParametro.CodigoMercado, lTitulos); } } lRetorno.DescricaoResposta = string.Concat("Registros encontrados: ", lRetorno.Titulos.Count.ToString()); } catch (Exception ex) { lRetorno.StatusResposta = Library.MensagemResponseStatusEnum.ErroNegocio; lRetorno.DescricaoResposta = ex.ToString(); gLogger.Error("CompraConsultarTituloMercado", ex); } return(lRetorno); }
public CompraConsultaTituloMercadoResponse CompraConsultarTituloMercado(CompraConsultaTituloMercadoRequest pParametro) { return(new TesouroDiretoCompra().CompraConsultarTituloMercado(pParametro)); }