private bool IsTaskCategoryRunning(Task task) { for (int i = 0; i < _runningTasks.Count; i++) { var t = (Task)_runningTasks[i]; if (t.Category == task.Category) { return true; } } return false; }
/// <summary> /// Enqueues a task at the correct index based on <see cref="Task.NextOccurrence"/> /// </summary> public void Enqueue(Task task) { var taskCount = _tasks.Count; for (int i = 0; i < taskCount; i++) { if (task.NextOccurrence <= ((Task)_tasks[i]).NextOccurrence) { _tasks.Insert(i, task); return; } } _tasks.Add(task); }