Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
 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);
     }
 }