Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 public CompraConsultaTituloMercadoResponse CompraConsultarTituloMercado(CompraConsultaTituloMercadoRequest pParametro)
 {
     return(new TesouroDiretoCompra().CompraConsultarTituloMercado(pParametro));
 }