public SparkTask ReturnActiveTask() { Repository repo = new Repository(); var activeTaskToReturn = repo.GetActiveTask(); return activeTaskToReturn; }
public void ActivateReminders() { IRepository repo = new Repository(); StartTime = DateTime.Now; ActiveTaskProcess taskProcessor = new ActiveTaskProcess(); ReportWeekReminder reportWeekReminder = new ReportWeekReminder(); DailyReminders dailyReminders = new DailyReminders(); while (true) { Thread.Sleep(60000); SparkLogic.Initialize(); var listOfReminders = SparkLogic.ReturnReminderList(); var timeElapsed = DateTime.Now - StartTime; var activeTask = repo.GetActiveTask(); if (activeTask != null) { taskProcessor.AddElapsedTime(); } foreach (Reminder reminder in listOfReminders) { ReminderEventArgs eventArgs = new ReminderEventArgs(reminder, activeTask); ReminderControl reminderControl = new ReminderControl(); if (timeElapsed.Minutes >= 1) { if (timeElapsed.Minutes % reminder.Interval == 0 && activeTask == null && reminder.Type == ReminderType.NoActiveTask) { reminderControl.OnEventNoActiveTask(eventArgs); } if (timeElapsed.Minutes % reminder.Interval == 0 && activeTask != null && reminder.Type == ReminderType.DefaultHourly) { reminderControl.OnEventIntervalPassed(eventArgs); } if (reminder.Type==ReminderType.EndOfWeek) { reportWeekReminder.RemindEndOfWeek(reminder); } if (reminder.Type==ReminderType.StartOfWeek) { reportWeekReminder.RemindStartOfWeek(reminder); } if (reminder.Type == ReminderType.StartOfDay) { dailyReminders.RemindStartOfDay(reminder); } if (reminder.Type == ReminderType.EndOfDay) { dailyReminders.RemindEndOfDay(reminder); } } } } }