Exemple #1
0
 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);
     }
 }
Exemple #2
0
        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);
            }
        }