Exemple #1
0
        /// <summary>
        /// ObterDadosComposicaoIndice - busca dados de composição de índice
        /// </summary>
        /// <returns></returns>
        public List <ComposicaoIndice.ItemComposicaoIndice> ObterDadosComposicaoIndice()
        {
            List <ComposicaoIndice.ItemComposicaoIndice> listaComposicaoIndice = new List <ComposicaoIndice.ItemComposicaoIndice>();

            SqlConnection conn = null;

            try
            {
                conn = new SqlConnection(ConfigurationManager.AppSettings["OMS"]);
                conn.Open();

                SqlCommand Command = new SqlCommand();
                Command.CommandType = CommandType.StoredProcedure;
                Command.Connection  = conn;
                Command.CommandText = "prc_TB_COMPOSICAO_INDICE_sel";

                SqlDataReader dtDados = Command.ExecuteReader();

                if (dtDados.HasRows)
                {
                    while (dtDados.Read())
                    {
                        ComposicaoIndice.ItemComposicaoIndice item = new ComposicaoIndice.ItemComposicaoIndice();
                        item.indice      = dtDados.GetSqlString(0).Value;
                        item.papel       = dtDados.GetSqlString(1).Value;
                        item.qtdeTeorica = dtDados.GetSqlDecimal(2).ToDouble();
                        item.fechamento  = dtDados.GetSqlDecimal(3).ToDouble();
                        ObterCotacaoAtual(item);
                        listaComposicaoIndice.Add(item);
                    }
                }
            }
            catch (SqlException ex)
            {
                logger.Error("ObterDadosComposicaoIndice(): " + ex.Message + "-" + ex.ErrorCode, ex);
            }
            catch (Exception ex)
            {
                logger.Error("ObterDadosComposicaoIndice(): " + ex.Message, ex);
            }
            finally
            {
                if (conn != null && conn.State == ConnectionState.Open)
                {
                    conn.Close();
                    conn.Dispose();
                }
            }

            return(listaComposicaoIndice);
        }
Exemple #2
0
        /// <summary>
        /// ObterCotacaoAtual - busca cotação atual de um papel.
        /// </summary>
        /// <returns></returns>
        public void ObterCotacaoAtual(ComposicaoIndice.ItemComposicaoIndice item)
        {
            SqlConnection conn = null;
            string        cmd  = "";

            try
            {
                cmd  = "SELECT vl_ultima, dt_negocio FROM tb_ativo_cotacao ";
                cmd += " WHERE id_ativo ='" + item.papel + "'";

                conn = new SqlConnection(ConfigurationManager.AppSettings["DirectTradeRisco"]);
                conn.Open();

                SqlCommand    command = new SqlCommand(cmd, conn);
                SqlDataReader dtDados = command.ExecuteReader();
                if (dtDados.HasRows)
                {
                    if (dtDados.Read())
                    {
                        item.valor       = dtDados.IsDBNull(0) ? 0 : dtDados.GetSqlDecimal(0).ToDouble();
                        item.dataCotacao = dtDados.IsDBNull(1) ? DateTime.Now : dtDados.GetDateTime(1);
                    }
                }
            }
            catch (SqlException ex)
            {
                logger.Error("ObterCotacaoAtual(): " + ex.Message + "-" + ex.ErrorCode, ex);
            }
            catch (Exception ex)
            {
                logger.Error("ObterCotacaoAtual(): " + ex.Message, ex);
            }
            finally
            {
                if (conn != null && conn.State == ConnectionState.Open)
                {
                    conn.Close();
                    conn.Dispose();
                }
            }
        }