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); } }
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; } }
public abstract void LoadMutualFundNAV(SeriesNetAssetValue navs);