/// <summary> /// Starts timer for the next reminder whici is assumed to exist /// </summary> protected virtual void ScheduleNextReminder(DateTime now) { ReminderEntity nextReminder = ActiveSortedReminders.First(); int intervalMs = GetTimeInMsUntilNextRinging(nextReminder, now); Log.Logger.Information($"Starting NextReminderNotifier timer [Reminder name = {nextReminder.Name}, Interval = {intervalMs} ms, Scheduled at {nextReminder.ScheduledTime} UTC] "); NextReminderTimer.Interval = intervalMs; NextReminderTimer.Start(); }