private void EditTaskListCommandHandler(TaskList taskList) { // For the task list being edited : create a clone we can modify. (for rollback purposes) CurrentTaskList = taskList.Clone(); // Let's set the current view mode to edition or consultation. IsEditing = !IsEditing; }
async private System.Threading.Tasks.Task SyncTaskLists(TaskList local, TaskList remote) { TaskList localTemp = TaskList.Clone(local); if (local.Title != remote.Title) { if (DateTime.Compare(local.Updated, remote.Updated) > 0) { // UPDATE REMOTELY await taskDao.UpdateTaskList(local); } } List <string> processedIds = new List <string>(); foreach (Model.Task task in local.Tasks) { if (task.Id == null) { if (!task.Deleted) { //INSERT TASK await taskDao.InsertTask(task, localTemp); } } else if (TaskExists(remote.Tasks.ToList(), task)) { if (task.Deleted) { // DELETE REMOTELY await taskDao.DeleteTask(task, localTemp); } else { // SYNC if (DateTime.Compare(task.Updated, GetTask(remote.Tasks.ToList(), task).Updated) > 0) { // UPDATE REMOTELY await taskDao.UpdateTask(task, localTemp); } } } } }