示例#1
0
        public static CotacaoValor ObterCotacaoAtual(string pInstrumento)
        {
            AcessaDados lAcessaDados = new AcessaDados();
            //Hashtable htQuote = new Hashtable();

            decimal ValorCotacao = 0;
            string  IdAtivo      = string.Empty;

            CotacaoValor lRetorno = new CotacaoValor();

            lRetorno.ValorCotacao = 0;

            try
            {
                lAcessaDados.ConnectionStringName = gNomeConexaoGradualOMS;// gNomeConexaoOracle;

                using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_cotacoes_monitor_item"))
                {
                    lAcessaDados.AddInParameter(lDbCommand, "@pAtivo", DbType.AnsiString, pInstrumento);

                    DataTable lDataTable = lAcessaDados.ExecuteDbDataTable(lDbCommand);

                    if (lDataTable.Rows.Count > 0)
                    {
                        for (int i = 0; i <= lDataTable.Rows.Count - 1; i++)
                        {
                            IdAtivo                  = (lDataTable.Rows[i]["id_ativo"]).DBToString();
                            ValorCotacao             = (lDataTable.Rows[i]["vl_ultima"]).DBToDecimal();
                            lRetorno.Ativo           = IdAtivo;
                            lRetorno.ValorCotacao    = ValorCotacao;
                            lRetorno.ValorFechamento = (lDataTable.Rows[i]["vl_fechamento"]).DBToDecimal();
                            lRetorno.ValorAbertura   = (lDataTable.Rows[i]["VL_abertura"]).DBToDecimal();
                            lRetorno.Variacao        = (lDataTable.Rows[i]["vl_oscilacao"]).DBToDecimal();
                            lRetorno.ValorAjuste     = (lDataTable.Rows[i]["vl_ajuste"].DBToDecimal());
                            lRetorno.ValorPU         = (lDataTable.Rows[i]["vl_pu"].DBToDecimal());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            finally
            {
                if (lAcessaDados != null)
                {
                    lAcessaDados.Dispose();
                    lAcessaDados = null;
                }
            }
            return(lRetorno);
        }
示例#2
0
        public CotacaoValor ObterCotacaoAtual(string pInstrumento)
        {
            AcessaDados lAcessaDados = new AcessaDados();
            //Hashtable htQuote = new Hashtable();

            decimal ValorCotacao = 0;
            string  IdAtivo      = string.Empty;

            CotacaoValor lRetorno = new CotacaoValor();

            lRetorno.ValorCotacao = 0;

            try
            {
                lAcessaDados.ConnectionStringName = gNomeConexaoOracle;

                using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "prc_cotacoes_monitor_item"))
                {
                    lAcessaDados.AddInParameter(lDbCommand, "pAtivo", DbType.AnsiString, pInstrumento);

                    DataTable lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand);


                    if (lDataTable.Rows.Count > 0)
                    {
                        for (int i = 0; i <= lDataTable.Rows.Count - 1; i++)
                        {
                            IdAtivo      = (lDataTable.Rows[i]["ds_ativo"]).DBToString();
                            ValorCotacao = (lDataTable.Rows[i]["vl_preco"]).DBToDecimal();

                            lRetorno.Ativo        = IdAtivo;
                            lRetorno.ValorCotacao = ValorCotacao;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            return(lRetorno);
        }
示例#3
0
        public static List <MonitorCustodiaInfo.CustodiaPosicaoDiaBMF> ConsultarCustodiaPosicaoDiaBMF(Nullable <int> CodigoClienteBmf)
        {
            var lRetorno     = new MonitorCustodiaInfo();
            var lAcessaDados = new AcessaDados();

            lRetorno.ListaPosicaoDiaBMF = new List <MonitorCustodiaInfo.CustodiaPosicaoDiaBMF>();
            try
            {
                lAcessaDados.ConnectionStringName = gNomeConexaoOracle;

                using (DbCommand lDbCommand = lAcessaDados.CreateCommand(CommandType.StoredProcedure, "PRC_SEL_CUSTODIA_INTRANET_DIA"))
                {
                    lAcessaDados.AddInParameter(lDbCommand, "IdCliente", DbType.Int32, CodigoClienteBmf.Value);

                    var lDataTable = lAcessaDados.ExecuteOracleDataTable(lDbCommand);

                    if (null != lDataTable && lDataTable.Rows.Count > 0)
                    {
                        for (int i = 0; i < lDataTable.Rows.Count; i++)
                        {
                            MonitorCustodiaInfo.CustodiaPosicaoDiaBMF lPosicao = new MonitorCustodiaInfo.CustodiaPosicaoDiaBMF();

                            CotacaoValor lCotacao = ObterCotacaoAtual(lDataTable.Rows[i]["CD_NEGOCIO"].DBToString());

                            lPosicao.CodigoInstrumento = lDataTable.Rows[i]["CD_NEGOCIO"].DBToString();
                            lPosicao.TipoMercado       = "FUT";
                            lPosicao.TipoGrupo         = "FUT";
                            lPosicao.IdCliente         = lDataTable.Rows[i]["CD_CLIENTE"].DBToInt32();
                            lPosicao.QtdeAtual         = 0;
                            lPosicao.QtdeDisponivel    = lDataTable.Rows[i]["QT_NEGOCIO"].DBToDecimal();
                            lPosicao.CodigoSerie       = lDataTable.Rows[i]["CD_SERIE"].DBToString();
                            lPosicao.ValorFechamento   = lCotacao.ValorAbertura;
                            lPosicao.Cotacao           = lCotacao.ValorCotacao;
                            lPosicao.Variacao          = lCotacao.Variacao;
                            lPosicao.ValorPU           = lCotacao.ValorPU;
                            lPosicao.ValorAjuste       = lCotacao.ValorAjuste;

                            string lSentido = lDataTable.Rows[i]["CD_NATOPE"].DBToString();

                            lPosicao.Sentido = lSentido;

                            if (lSentido.Equals("V"))
                            {
                                lPosicao.QtdeAExecVenda = lDataTable.Rows[i]["QT_NEGOCIO"].DBToDecimal();

                                lPosicao.PrecoNegocioVenda = lDataTable.Rows[i]["PR_NEGOCIO"].DBToDecimal();
                            }
                            else if (lSentido.Equals("C"))
                            {
                                lPosicao.QtdeAExecCompra = lDataTable.Rows[i]["QT_NEGOCIO"].DBToDecimal();

                                lPosicao.PrecoNegocioCompra = lDataTable.Rows[i]["PR_NEGOCIO"].DBToDecimal();
                            }

                            lRetorno.ListaPosicaoDiaBMF.Add(lPosicao);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            finally
            {
                if (lAcessaDados != null)
                {
                    lAcessaDados.Dispose();
                    lAcessaDados = null;
                }
            }

            if (lRetorno.ListaPosicaoDiaBMF.Count > 0)
            {
                AtualizaInserePosicaoDiaBmf(lRetorno.ListaPosicaoDiaBMF);
            }

            return(lRetorno.ListaPosicaoDiaBMF);
        }