Пример #1
0
 /// <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);
     }
 }
Пример #2
0
 /// <summary>
 /// 获取回补记录
 /// </summary>
 /// <returns></returns>
 protected virtual List <MissingDataRecord> GetRecordsForCover()
 {
     return(MDRRepository.GetList(EntityName));
 }
Пример #3
0
 protected virtual List <MissingDataRecord> GetRecords()
 {
     return(MDRRepository.Get(Code).ToList());
 }
Пример #4
0
 /// <summary>
 /// 添加回补记录到数据库
 /// </summary>
 /// <param name="records"></param>
 protected virtual void AddMissingDataRecords(IEnumerable <MissingDataRecord> records)
 {
     MDRRepository.Add(records);
 }
Пример #5
0
 protected virtual MissingDataRecord GetRecord(DateTime time, string conditions)
 {
     return(MDRRepository.FirstOrDefault(Code, time, conditions));
 }