public EditListsViewModel(ObservableCollection<TaskList> taskLists)
        {
            TaskLists = taskLists;
            CurrentTaskList = new TaskList();

            AddTaskListCommand = new DelegateCommand(AddTaskListCommandHandler);
            EditTaskListCommand = new DelegateCommand<TaskList>(EditTaskListCommandHandler);
            DeleteTaskListCommand = new DelegateCommand<IEnumerable<TaskList>>(DeleteTaskListCommandHandler);
            ApplyTaskListChangesCommand = new DelegateCommand(ApplyTaskListChangesCommandHandler);
        }
        private void ApplyTaskListChangesCommandHandler()
        {
            // For the tasklist being edited : replace the original by the modified clone
            var taskListToRemove = TaskLists.Single(o => o.ListId == CurrentTaskList.ListId);
            TaskLists.Remove(taskListToRemove);
            TaskLists.Add(CurrentTaskList);

            IsEditing = false;
            CurrentTaskList = new TaskList();
        }
        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;
        }
 private void AddTaskListCommandHandler()
 {
     TaskLists.Add(CurrentTaskList);
     CurrentTaskList = new TaskList();
 }