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