private bool CanSaveDetailExecute() { // return true; return(SelectedProject != null && !SelectedProject.HasErrors && HasChanges && ProjectSubtasks.All(ps => !ps.HasErrors) ); }
private void OnAddProjectSubtask() { var newProjectSubtask = new ProjectSubtaskWrapper(new ProjectSubtask()); newProjectSubtask.PropertyChanged += MyProjectSubtaskWrapper_PropertyChanged; ProjectSubtasks.Add(newProjectSubtask); SelectedProject.Model.ProjectSubtasks.Add(newProjectSubtask.Model); newProjectSubtask.Subtask = ""; //trigger validation }
private void OnRemoveProjectSubtaskExecute() { SelectedProjectSubtask.PropertyChanged -= MyProjectSubtaskWrapper_PropertyChanged; //SelectedProject.Model.ProjectSubtasks.Remove(SelectedProjectSubtask.Model); _projectRepository.RemoveSubtask(SelectedProjectSubtask.Model); ProjectSubtasks.Remove(SelectedProjectSubtask); SelectedProjectSubtask = null; HasChanges = _projectRepository.HasChanges(); SaveDetailCommand.RaiseCanExecuteChanged(); }
private void IntialiseProjectSubtasks(ICollection <ProjectSubtask> projectSubtasks) { foreach (var wrapper in ProjectSubtasks) { wrapper.PropertyChanged -= MyProjectSubtaskWrapper_PropertyChanged; } ProjectSubtasks.Clear(); foreach (var subtask in projectSubtasks) { var myProjectSubtaskWrapper = new ProjectSubtaskWrapper(subtask); ProjectSubtasks.Add(myProjectSubtaskWrapper); myProjectSubtaskWrapper.PropertyChanged += MyProjectSubtaskWrapper_PropertyChanged; } }