|
@@ -24,27 +24,31 @@ namespace CardCollector.TimerTasks
|
|
|
task.Setup();
|
|
|
}
|
|
|
|
|
|
- protected static void SetupTimer(Timer timer, TimeSpan timeToRun, ElapsedEventHandler callback)
|
|
|
+ protected static void SetupTimer(Timer timer, TimeSpan timeToRun)
|
|
|
{
|
|
|
var interval = timeToRun - DateTime.Now.TimeOfDay;
|
|
|
if (interval < TimeSpan.Zero) interval += new TimeSpan(1, 0, 0, 0);
|
|
|
timer.AutoReset = false;
|
|
|
timer.Enabled = true;
|
|
|
timer.Interval = interval.TotalMilliseconds;
|
|
|
- timer.Elapsed += callback;
|
|
|
}
|
|
|
|
|
|
protected abstract void TimerCallback(object o, ElapsedEventArgs e);
|
|
|
|
|
|
protected virtual void Setup()
|
|
|
{
|
|
|
- SetupTimer(Timer, RunAt, TimerCallback);
|
|
|
- Timer.Elapsed += Setup;
|
|
|
+ SetupTimer(Timer, RunAt);
|
|
|
}
|
|
|
|
|
|
protected void Setup(object o, ElapsedEventArgs e)
|
|
|
{
|
|
|
Setup();
|
|
|
}
|
|
|
+
|
|
|
+ protected TimerTask()
|
|
|
+ {
|
|
|
+ Timer.Elapsed += TimerCallback;
|
|
|
+ Timer.Elapsed += Setup;
|
|
|
+ }
|
|
|
}
|
|
|
}
|