예제 #1
0
        public void TriggerDataChangedIfDataNewerThanCache(ModelPaths modelPaths)
        {
            DateTime cacheTime = persistenceService.GetCacheTime(modelPaths);
            DateTime dataTime  = parserService.GetDataTime(modelPaths);

            Log.Debug($"Data time: {dataTime}, cache time: {cacheTime}");

            if (dataTime > cacheTime)
            {
                Log.Debug("Data is newer than cache");
                Task.Delay(TimeSpan.FromSeconds(5))
                .ContinueWith(_ => DataChanged?.Invoke(this, EventArgs.Empty)).RunInBackground();
            }
        }
        private bool IsSaveNewerThanData(ModelPaths modelPaths)
        {
            DateTime saveTime = GetSaveTime(modelPaths);
            DateTime dataTime = parserService.GetDataTime(modelPaths);

            Log.Debug($"Save time: {saveTime}, Data time: {dataTime}");

            if (saveTime == DateTime.MinValue || dataTime == DateTime.MinValue)
            {
                return(false);
            }

            return(saveTime > dataTime);
        }