Exemple #1
0
        private void updateFundNAV(DataSet ds, SeriesNetAssetValue navs)
        {
            DataRow[] rows = ds.Tables[0].Select("SYMBOL='" + navs.Code + "'");
            if (rows.Length > 0)
            {
                //基本信息
                navs.DataSource = this.DataSource;
                navs.OriginalTimeSeries.Clear();

                foreach (DataRow row in rows)
                {
                    NetAssetValue nav = new NetAssetValue();
                    nav.TradeDate    = DataManager.ConvertToDate(row[C_ColName_PublishDate]);
                    nav.UnitNAV      = DataManager.ConvertToDouble(row[C_ColName_UnitNAV]);
                    nav.AccumUnitNAV = DataManager.ConvertToDouble(row[C_ColName_AccumUnitNAV]);
                    //复权系数
                    navs.OriginalTimeSeries.Add(nav);
                }

                //交易日校验,复权并计算涨跌幅
                navs.Adjust();
            }
            else
            {
                MessageManager.GetInstance().AddMessage(MessageType.Warning, Message.C_Msg_MF4, navs.Code);
            }
        }
Exemple #2
0
        public override void LoadMutualFundNAV(SeriesNetAssetValue navs)
        {
            try
            {
                //读数据
                string sql = C_SQL_GetFundNAV;
                sql += " AND " + base.BuildSQLClauseIn(navs.Code, "SYMBOL");
                sql += " AND Publishdate >= " + base.DBInstance.ConvertToSQLDate(navs.TimeSeriesStartExtended)
                       + " AND Publishdate <= " + base.DBInstance.ConvertToSQLDate(navs.TimeSeriesEnd);
                sql += " ORDER BY Symbol, Publishdate Desc";
                DataSet ds = base.DBInstance.ExecuteSQL(sql);

                //更新数据
                this.updateFundNAV(ds, navs);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #3
0
 public abstract void LoadMutualFundNAV(SeriesNetAssetValue navs);