Esempio n. 1
0
        /// <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]);
        }
Esempio n. 2
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);
        }