Esempio n. 1
0
        public VendaConsultaTituloDeVendaResponse VendaConsultarTitulo(VendaConsultaTituloDeVendaRequest pParametro)
        {
            var lRetorno = new VendaConsultaTituloDeVendaResponse();
            TituloMercadoInfo tituloMercadoInfo;

            try
            {
                string lXml = ConexaoWS.WsVenda.VendaConsTitVenda(pParametro.CPFNegociador, pParametro.DataEmissao.DBToDateTimeString(), pParametro.DataVencimento.DBToDateTimeString(), pParametro.SELIC.ToString(), pParametro.ISIN, pParametro.CodigoTitulo, pParametro.CodigoMercado, pParametro.NotCesta, pParametro.TipoIndexador);

                gLogger.InfoFormat("Resposta recebida de ConexaoWS.WsVenda.VendaConsTitVenda(CPFNegociador [{0}], DataEmissao [{1}], DataVencimento [{2}], SELIC [{3}], ISIN [{4}], CodigoTitulo [{5}], CodigoMercado [{6}], NotCesta [{7}], TipoIndexador [{8}]):\r\n{9}"
                                   , pParametro.CPFNegociador
                                   , pParametro.DataEmissao
                                   , pParametro.DataVencimento
                                   , pParametro.SELIC
                                   , pParametro.ISIN
                                   , pParametro.CodigoTitulo
                                   , pParametro.CodigoMercado
                                   , pParametro.NotCesta
                                   , pParametro.TipoIndexador
                                   , lXml);

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

                if (root.Element("TITULOS") != null)
                {
                    foreach (XElement titulo in root.Element("TITULOS").Elements())
                    {
                        tituloMercadoInfo = new TituloMercadoInfo();

                        tituloMercadoInfo.TipoTitulo = titulo.Element("TIPO_TITULO") != null?titulo.Element("TIPO_TITULO").Value : "";

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

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

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

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

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

                        tituloMercadoInfo.SELIC = titulo.Element("SELIC") != null?titulo.Element("SELIC").Value : "";

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

                        tituloMercadoInfo.QuantidadeDisponivelVenda = titulo.Element("QUANTIDADE_DISPONIVEL_VENDA") != null?titulo.Element("QUANTIDADE_DISPONIVEL_VENDA").Value.DBToDouble() : 0;

                        tituloMercadoInfo.ValorTaxaVenda = titulo.Element("VALOR_TAXA_VENDA") != null?titulo.Element("VALOR_TAXA_VENDA").Value.DBToDecimal() : 0;

                        tituloMercadoInfo.Mercado = titulo.Element("MERCADO") != null?titulo.Element("MERCADO").Value.DBToInt32() : 0;

                        tituloMercadoInfo.TipoIndexadorNome = titulo.Element("INDEXADOR") != null && titulo.Element("INDEXADOR").Element("NOME") != null?titulo.Element("INDEXADOR").Element("NOME").Value : "";

                        tituloMercadoInfo.QuantidadeSaldo = titulo.Element("QUANTIDADE_SALDO") != null?titulo.Element("QUANTIDADE_SALDO").Value.DBToDouble() : 0;

                        lRetorno.Objeto.Add(tituloMercadoInfo);
                    }

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

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

                        gLogger.DebugFormat("VENDA - CONSULTAR TITULO -->\n - CPF/CNPJ: {0}\n - CodigoMercado: {1}\n - Títulos: {2}", pParametro.CPFNegociador, pParametro.CodigoMercado, lTitulos);
                    }
                }
            }
            catch (Exception ex)
            {
                lRetorno.StatusResposta    = Library.MensagemResponseStatusEnum.ErroNegocio;
                lRetorno.DescricaoResposta = ex.ToString();
                gLogger.Error("VendaConsultarTitulo", ex);
            }

            return(lRetorno);
        }
Esempio n. 2
0
 public VendaConsultaTituloDeVendaResponse VendaConsultarTitulo(VendaConsultaTituloDeVendaRequest pParametro)
 {
     return(new TesouroDiretoVenda().VendaConsultarTitulo(pParametro));
 }