public void DispatchReminder(ReminderInfo reminder)
        {
            if (reminder == null)
                return;

            if (_contexts.Count == 0)
            {
                CreateContexts();
                foreach (var isReady in _contexts.Select(x => x.IsReady))
                {
                    isReady.WaitOne(new TimeSpan(0, 0, 5));
                }
            }
            
            _viewModel.Reminders.Add(reminder);
        }
 public void DismissReminder(ReminderInfo reminder)
 {
     reminder.Dismiss();
     _viewModel.Reminders.Remove(reminder);
     CloseWindowsIfThereAreNoReminders();
 }
 public void SnoozeReminder(ReminderInfo reminder)
 {
     reminder.SnoozeBefore(1);
     _viewModel.Reminders.Remove(reminder);
     CloseWindowsIfThereAreNoReminders();
 }
 public void RemoveReminder(ReminderInfo reminder)
 {
     Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => _viewModel.Reminders.Remove(reminder)));
 }