private CachedLog HandelNewFile(string path) { var absolutPath = path; var bossID = GetBoss(path).ID; var date = File.GetCreationTime(absolutPath); var sizeKb = (int)Math.Ceiling(new FileInfo(absolutPath).Length / 1000.0); var newLog = new CachedLog(-1, bossID, absolutPath, null, null, null, sizeKb, date); newLog.ID = LogDBConnector.Insert(newLog.GetDBLog()); var taskName = newLog.BossName.Length > 17 ? newLog.BossName.Substring(0, Math.Min(17, newLog.BossName.Length)) + "..." : newLog.BossName; LogCache.Add(newLog); OnDataChanged(new EventArgs()); if (EnableAutoParsing && EnableAutoUpload) { ParseAndUpload(newLog.ID, $"{Language.Data.FooterProcessing} {taskName}"); } else if (EnableAutoParsing) { Parse(newLog.ID, $"{Language.Data.FooterParsing} {taskName}"); } else if (EnableAutoUpload) { Upload(newLog.ID, $"{Language.Data.FooterUploading} {taskName}"); } GC.Collect(); return(newLog); }
public CachedLog QuickCacheLog(int id) { var log = LogCache.GetLog(id); if (log == null) { log = new CachedLog(LogDBConnector.GetByID(id)); LogCache.Add(log); } if (!File.Exists(log.EvtcPath)) { log.EvtcPath = null; LogDBConnector.Update(log.GetDBLog()); } return(log); }
public CachedLog CacheLog(int id) { var log = QuickCacheLog(id); if (!string.IsNullOrWhiteSpace(log.JsonPath) && ((log.PlayersNew?.Count ?? 0) == 0)) { if (!File.Exists(log.JsonPath)) { return(log); } var jsonStr = GP.ReadJsonFile(log.JsonPath); var simpleLogJson = new SimpleLogJson(jsonStr); log.ApplySimpleLog(simpleLogJson); } GC.Collect(); LogCache.Add(log); return(log); }
public void ExecLogs(JArray ja) { if (ja.Count != 0) { var counter = logModel.counter; eventInfoModel.FindAllByEventHash(); //筛选出需要入库的log var logs = ja.Select(l => { var log = Log.FromJObject(l); if (eventInfoModel.EventHash_All.ContainsKey(log.eventHash)) { log.ExtendFromEventInfo(eventInfoModel.EventHash_All[log.eventHash], counter++); } return(log); }).ToList(); logModel.Add(logs); } }