/// <summary>提取数据日志信息对象 /// </summary> /// <param name="stockID_Tag">标的标签</param> /// <param name="quoteTimeType">时间频率类型</param> /// <param name="quotePlat">行情来源平台</param> /// <param name="autoInit">自动初始</param> /// <returns></returns> public virtual T Get_LogQuote(string stockID_Tag, typeTimeFrequency quoteTimeType, typeQuotePlat quotePlat = typeQuotePlat.JQDataAPI_zxc, bool autoInit = true) { //查询 List <T> lstLogs = this.FindAll(e => e.StockID_Tag == stockID_Tag && e.QuoteTimeType == quoteTimeType && e.QuotePlat == quotePlat); if (lstLogs.Count != 1) { if (!autoInit) { return(default(T)); } //初始新对象 T pLog = (T) new LogData_Quote() { StockID_Tag = stockID_Tag, QuoteTimeType = quoteTimeType, QuotePlat = quotePlat, DateTime_Min = DateTime.Now, DateTime_Max = DateTime.Now }; this.Add(pLog); //添加记录 return(pLog); } return(lstLogs[0]); }
/// <summary>更新行情数据时间区间日志信息 /// </summary> /// <param name="stockID_Tag">标的标签</param> /// <param name="dtTime_Start">数据开始时间</param> /// <param name="dtTime_End">数据结束时间</param> /// <param name="quoteTimeType">时间频率类型</param> /// <param name="quotePlat">行情来源平台</param> /// <returns></returns> public virtual bool Updata_LogQuote(string stockID_Tag, DateTime dtTime_Start, DateTime dtTime_End, typeTimeFrequency quoteTimeType, typeQuotePlat quotePlat = typeQuotePlat.JQDataAPI_zxc, bool isDel = false) { //查询 LogData_Quote pLog = this.Get_LogQuote(stockID_Tag, quoteTimeType, quotePlat); if (pLog == null) { return(false); } //比对时间 if (!isDel) { if (pLog.DateTime_Max == pLog.DateTime_Min || !(pLog.DateTime_Min <= dtTime_Start && dtTime_Start <= pLog.DateTime_Max) || !(pLog.DateTime_Min <= dtTime_End && dtTime_End <= pLog.DateTime_Max)) { //更新记录时间区间 if (pLog.DateTime_Min > dtTime_Start) { pLog.DateTime_Min = dtTime_Start; } if (pLog.DateTime_Max < dtTime_End) { pLog.DateTime_Max = dtTime_End; } return(this.Add((T)pLog, true, true)); } } else { //需完善 } return(true); }