Ejemplo n.º 1
0
        public PosicaoCustodiaResponse ConsultarCustodia(PosicaoCustodiaRequest pParametros)
        {
            var lRetorno = new PosicaoCustodiaResponse();

            lRetorno.Objeto.ListaMovimento.AddRange(this.ConsultarCustodiaNormal(pParametros));
            lRetorno.Objeto.ListaMovimento.AddRange(this.ConsultarCustodiaBTC(pParametros));

            lRetorno.DescricaoResposta = string.Format("Posição em custódia do cliente: {0} carregado com sucesso", pParametros.ConsultaCdClienteBovespa.DBToString());
            lRetorno.StatusResposta    = MensagemResponseStatusEnum.OK;

            return(lRetorno);
        }
Ejemplo n.º 2
0
        private List <PosicaoCustodiaInfo.CustodiaMovimento> ConsultarCustodiaNormal(PosicaoCustodiaRequest pParametros)
        {
            var lRetorno     = new List <PosicaoCustodiaInfo.CustodiaMovimento>();
            var lAcessaDados = new AcessaDados();

            lAcessaDados.ConnectionStringName = gNomeConexaoOracle;

            using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_SEL_CUSTODIA_INTRANET"))
            {
                lAcessaDados.AddInParameter(lDbCommand, "IdCliente", DbType.Int32, pParametros.ConsultaCdClienteBovespa);
                lAcessaDados.AddInParameter(lDbCommand, "IdClienteBMF", DbType.Int32, pParametros.ConsultaCdClienteBMF);

                var lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand);

                if (null != lDataTable && lDataTable.Rows.Count > 0)
                {
                    for (int i = 0; i < lDataTable.Rows.Count; i++)
                    {
                        lRetorno.Add(new PosicaoCustodiaInfo.CustodiaMovimento()
                        {
                            CodigoInstrumento = lDataTable.Rows[i]["COD_NEG"].DBToString(),
                            CodigoCarteira    = lDataTable.Rows[i]["COD_CART"].DBToInt32(),
                            DescricaoCarteira = lDataTable.Rows[i]["DESC_CART"].DBToString().Trim(),
                            TipoMercado       = lDataTable.Rows[i]["TIPO_MERC"].DBToString(),
                            TipoGrupo         = lDataTable.Rows[i]["TIPO_GRUP"].DBToString(),
                            IdCliente         = lDataTable.Rows[i]["COD_CLI"].DBToInt32(),
                            QtdeAtual         = lDataTable.Rows[i]["QTDE_ATUAL"].DBToInt32(),
                            QtdeDisponivel    = lDataTable.Rows[i]["QTDE_DISP"].DBToInt32(),
                            QtdeAExecVenda    = lDataTable.Rows[i]["QTDE_AEXE_VDA"].DBToInt32(),
                            QtdeAExecCompra   = lDataTable.Rows[i]["QTDE_AEXE_CPA"].DBToInt32(),
                            NomeEmpresa       = lDataTable.Rows[i]["NOME_EMP_EMI"].DBToString(),
                            ValorPosicao      = lDataTable.Rows[i]["VAL_POSI"].DBToDouble(),
                            DtVencimento      = lDataTable.Rows[i]["DATA_VENC"].DBToDateTime(),
                            QtdeD1            = lDataTable.Rows[i]["QTDE_DA1"].DBToDecimal(),
                            QtdeD2            = lDataTable.Rows[i]["QTDE_DA2"].DBToDecimal(),
                            QtdeD3            = lDataTable.Rows[i]["QTDE_DA3"].DBToDecimal(),
                        });
                    }
                }
            }

            if (null != pParametros.ConsultaDtVencimentoTermo && lRetorno.Count > 0)
            {
                lRetorno = lRetorno.FindAll(mov => { return(mov.DtVencimento.Value.Date == pParametros.ConsultaDtVencimentoTermo.Value.Date); });
            }

            return(lRetorno);
        }
Ejemplo n.º 3
0
        public PosicaoCustodiaResponse ConsultarCustodia(PosicaoCustodiaRequest pParametros)
        {
            var lRetorno = new PosicaoCustodiaResponse();

            try
            {
                lRetorno = new CustodiaDbLib().ConsultarCustodia(pParametros);
            }
            catch (Exception ex)
            {
                gLogger.Error(string.Concat("Erro ao consultar Custódia; Cliente: ", pParametros.ConsultaCdClienteBovespa == null ? pParametros.ConsultaCdClienteBovespa.DBToString() : pParametros.ConsultaCdClienteBMF.DBToString()), ex);

                lRetorno.DescricaoResposta = ex.ToString();
                lRetorno.StatusResposta    = Library.MensagemResponseStatusEnum.ErroPrograma;
            }

            return(lRetorno);
        }
Ejemplo n.º 4
0
        private List <PosicaoCustodiaInfo.CustodiaMovimento> ConsultarCustodiaBTC(PosicaoCustodiaRequest pParametros)
        {
            var lRetorno     = new List <PosicaoCustodiaInfo.CustodiaMovimento>();
            var lAcessaDados = new AcessaDados();

            lAcessaDados.ConnectionStringName = gNomeConexaoOracle;

            using (var lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_SEL_CUSTODIA_BTC"))
            {
                lAcessaDados.AddInParameter(lDbCommand, "IdCliente", DbType.Int32, pParametros.ConsultaCdClienteBovespa);
                lAcessaDados.AddInParameter(lDbCommand, "IdClienteBMF", DbType.Int32, pParametros.ConsultaCdClienteBMF);

                var lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand);

                if (null != lDataTable && lDataTable.Rows.Count > 0)
                {
                    for (int i = 0; i < lDataTable.Rows.Count; i++)
                    {
                        lRetorno.Add(new PosicaoCustodiaInfo.CustodiaMovimento()
                        {
                            CodigoInstrumento = lDataTable.Rows[i]["COD_NEG"].DBToString(),
                            CodigoCarteira    = lDataTable.Rows[i]["COD_CART"].DBToInt32(),
                            DescricaoCarteira = lDataTable.Rows[i]["DESC_CART"].DBToString(),
                            DsTomador         = lDataTable.Rows[i]["DS_TOMADOR"].DBToString(),
                            CdISIN            = lDataTable.Rows[i]["COD_ISIN"].DBToString(),
                            DtAbertura        = lDataTable.Rows[i]["DATA_ABER"].DBToDateTime(),
                            DtOrigem          = lDataTable.Rows[i]["DATA_ORI"].DBToDateTime(),
                            DtVencimento      = lDataTable.Rows[i]["DATA_VENC"].DBToDateTime(),
                            TipoMercado       = lDataTable.Rows[i]["TIPO_MERC"].DBToString(),
                            IdCliente         = lDataTable.Rows[i]["COD_CLI"].DBToInt32(),
                            QtdeAtual         = lDataTable.Rows[i]["QTDE_ACOE"].DBToInt32(),
                            VlPrecoMedio      = lDataTable.Rows[i]["PREC_MED"].DBToDecimal(),
                            VlTaxaRemuneracao = lDataTable.Rows[i]["TAXA_REMU"].DBToDecimal(),
                            VlLiquido         = lDataTable.Rows[i]["VAL_BRUT"].DBToDecimal(),
                        });
                    }
                }
            }

            return(lRetorno);
        }