using YLErp.Modules.EodModule; namespace YLErp.Modules.TradeRiskCalcModule { /// /// 初始累计盈亏数据源 /// class AccruedTotalPnlStartingDataSource where TEntity : EodTradePosition { IEnumerable _list; private AccruedTotalPnlStartingDataSource() { } /// /// 取值日 /// public DateTime ValueDate { get; private set; } /// /// 起算日 /// public DateTime StartDate { get; private set; } public void Reset() { _list = null; } /// /// /// /// 取值日 /// 起算日 public IEnumerable GetDatas(DateTime valueDate, DateTime startDate) { valueDate = valueDate.Date; startDate = startDate.Date; if (_list != null && ValueDate == valueDate && StartDate == startDate) { return _list; } ValueDate = valueDate; StartDate = startDate; return _list = new AccruedTotalPnlService(OptUserInfo.SystemUser).GetAccruedStartPnls(startDate, true); } public static readonly AccruedTotalPnlStartingDataSource Default; static AccruedTotalPnlStartingDataSource() { Default = new AccruedTotalPnlStartingDataSource(); } } }