/// <summary> /// Rimuove tutti i task che corrispondono alle condizioni definite dal predicato specificato. /// </summary> /// <param name="match">delegato che definisce le condizioni dei task da rimuovere</param> public void RemoveUserTasks(FilterTaskMetadata match) { lock (m_PendingTasksLocker) { m_PendingTasks.RemoveTasks(match); } }
/// <summary> /// Rimuove tutti i task che corrispondono alle condizioni definite dal predicato specificato. /// </summary> /// <param name="match">delegato che definisce le condizioni dei task da rimuovere</param> /// <remarks> /// Si tenga presente che l'oggetto contenente i metadati di un task può essere null. /// </remarks> public void RemoveTasks(FilterTaskMetadata match) { if (match != null) { List <String> tasksToRemove = new List <String>(); foreach (KeyValuePair <String, TaskMetadata> item in m_Data) { String id = item.Key; TaskMetadata tm = item.Value; if (match(tm)) { tasksToRemove.Add(id); } } foreach (var id in tasksToRemove) { m_Data.Remove(id); } } }