示例#1
0
        private void ResetTimers()
        {
            Utilities.Log($"QTTimersManager Reset all timers");

            StopTimers();
            this.timerTasks.Clear();

            this.rawTimers = ConfigManager.ReadTimers();
            if (this.rawTimers != null)
            {
                foreach (var rawTimer in this.rawTimers.Timers.Where(timer => timer.Active))
                {
                    var cancellationToken = new CancellationTokenSource();
                    if (!string.IsNullOrEmpty(rawTimer.Name) && !string.IsNullOrEmpty(rawTimer.Message) && rawTimer.OffsetMin > -1 && rawTimer.OffsetMin > -1)
                    {
                        this.timerTasks.Add(TimerMessage(rawTimer.Name, rawTimer.OffsetMin, rawTimer.DelayMin, rawTimer.Message, cancellationToken), cancellationToken);
                        Utilities.Log($"QTTimersManager [{rawTimer.Name}] - Registered!");
                    }
                    else
                    {
                        Utilities.Log($"QTTimersManager [{rawTimer.Name}] - Could not be registered with offsetMin: {rawTimer.OffsetMin}, delayMin: {rawTimer.DelayMin}, message: {rawTimer.Message}");
                    }
                }
            }
        }
示例#2
0
        public static TimersModel ReadTimers()
        {
            var timers = ReadConfig <TimersModel>("timers.json", new TimersModel());

            if (timers == null)
            {
                timers = new TimersModel();
            }
            return(timers);
        }
示例#3
0
 public static bool SaveTimers(TimersModel timers)
 {
     return(SaveConfig <TimersModel>("timers.json", timers));
 }