private void AddItemRemote(IToDoItem todo) { var currentWorkItem = new ToDoItemWorkItem {Item = todo.ToRemoteToDoItem(), WorkType = ToDoWorkType.Add}; workQueue.TryAdd(currentWorkItem,1); SaveWorkQueue(); try { toDoManagerClient.CreateToDoItem(todo.ToRemoteToDoItem()); DeleteFromWorkQueue(currentWorkItem); } catch (Exception) { ; } }
private void InvokeToDoWorkItem(ToDoItemWorkItem item) { switch (item.WorkType) { case ToDoWorkType.Add: AddItemRemote(item.Item); break; case ToDoWorkType.Remove: DeleteItemRemote(item.Item); break; case ToDoWorkType.Update: UpdateItemRemote(item.Item); break; } }
private void UpdateItemRemote(IToDoItem todo) { var currentWorkItem = new ToDoItemWorkItem { Item = todo.ToRemoteToDoItem(), WorkType = ToDoWorkType.Add }; workQueue.TryAdd(currentWorkItem, 1); SaveWorkQueue(); try { ToDoItem realItemToUpdate = GetRealItem(todo); if (realItemToUpdate != null) toDoManagerClient.UpdateToDoItem(realItemToUpdate); DeleteFromWorkQueue(currentWorkItem); } catch (Exception) { ; } }
private void DeleteFromWorkQueue(ToDoItemWorkItem currentWorkItem) { int i; workQueue.TryRemove(currentWorkItem, out i); SaveWorkQueue(); }