private void GetTasks(string id, ICallsToServer m_RemoteObject) { while (true) { Task.Delay(5000); var tasksFromServer = m_RemoteObject.GetTasks(id); var addedTasks = tasksFromServer.Where(x => !tasks.Any(y => y == x)).ToList(); tasks.AddRange(addedTasks); OutputList("added tasks", addedTasks); var deletedTasks = tasks.Where(x => !tasksFromServer.Any(y => y == x)).ToList(); for (var i = 0; i < deletedTasks.Count; i++) { tasks.Remove(deletedTasks[i]); } OutputList("deleted tasks", deletedTasks); } }
private void GetTasks(string id, ICallsToServer mRemoteObject) { while (true) { Task.Delay(PollDelay); var tasksFromServer = mRemoteObject.GetTasks(id); var addedTasks = tasksFromServer.Except(_tasks).ToList(); _tasks.AddRange(addedTasks); OutputList("added tasks", addedTasks); var deletedTasks = _tasks.Except(tasksFromServer).ToList(); foreach (var task in deletedTasks) { _tasks.Remove(task); } OutputList("deleted tasks", deletedTasks); } }