/// <summary> /// 回补数据 /// </summary> /// <param name="beginTime">开始时间</param> /// <param name="endTime">结束时间</param> /// <returns></returns> public virtual void Cover(DateTime beginTime, DateTime endTime) { try { for (DateTime time = beginTime; time <= endTime; time = time.Add(Interval)) { string[] codes = GetCodes(time); foreach (string code in codes) { if (!IsSynchronized(code, time)) { MissingDataRecord mdr = MDRRepository.FirstOrDefault(EntityName, code, time); if (mdr == null) { Sync(code, time); } else { Cover(mdr); } } } } Add(); } catch (Exception e) { Logger.Error("Cover failed.", e); } }
/// <summary> /// 获取回补记录 /// </summary> /// <returns></returns> protected virtual List <MissingDataRecord> GetRecordsForCover() { return(MDRRepository.GetList(EntityName)); }
protected virtual List <MissingDataRecord> GetRecords() { return(MDRRepository.Get(Code).ToList()); }
/// <summary> /// 添加回补记录到数据库 /// </summary> /// <param name="records"></param> protected virtual void AddMissingDataRecords(IEnumerable <MissingDataRecord> records) { MDRRepository.Add(records); }
protected virtual MissingDataRecord GetRecord(DateTime time, string conditions) { return(MDRRepository.FirstOrDefault(Code, time, conditions)); }