コード例 #1
0
        private async Task LoadDetailByIdAsync(int id)
        {
            if (id == 0)
            {
                SelectedProject = new ProjectWrapper(CreateNewDetail());
            }
            else
            {
                var lookup = await _projectRepository.GetByIdAsync(id);

                SelectedProject = new ProjectWrapper(lookup);
                SelectedProject.PropertyChanged += (s, e) =>
                {
                    if (!HasChanges)
                    {
                        HasChanges = _projectRepository.HasChanges();
                    }
                    if (e.PropertyName == nameof(SelectedProject.HasErrors))
                    {
                        SaveDetailCommand.RaiseCanExecuteChanged();
                    }
                };
            }


            IntialiseProjectSubtasks(SelectedProject.Model.ProjectSubtasks);



            SaveDetailCommand.RaiseCanExecuteChanged();
        }
コード例 #2
0
        private async void OnAddDetailExecute()
        {
            await  LoadDetailByIdAsync(0);

            ShowPopup = true;
            SaveDetailCommand.RaiseCanExecuteChanged();
        }
コード例 #3
0
        public async Task LoadAsync(int id)
        {
            await LoadSelectedProjectAsync(id);

            InitialiseProjectSubtasks(_selectedProject.Model.ProjectSubtasks);

            await LoadSystemItemsLookupAsync();

            SaveDetailCommand.RaiseCanExecuteChanged();
        }
コード例 #4
0
 private void MyProjectSubtaskWrapper_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
 {
     if (!HasChanges)
     {
         HasChanges = _projectRepository.HasChanges();
     }
     if (e.PropertyName == nameof(ProjectSubtaskWrapper.HasErrors))
     {
         SaveDetailCommand.RaiseCanExecuteChanged();
     }
 }
コード例 #5
0
        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();
        }
コード例 #6
0
 private void Wrapper_PropertyChanged(object sender, PropertyChangedEventArgs e)
 {
     if (!HasChanges)
     {
         HasChanges = _projectRepository.HasChanges();
     }
     if (e.PropertyName == nameof(SubTaskWrapper.HasErrors))
     {
         SaveDetailCommand.RaiseCanExecuteChanged();
     }
 }