private void OnAddExecute() { var wrapper = new PropertyItemWrapper <P>(new P()); wrapper.PropertyChanged += Wrapper_PropertyChanged; _repository.Add(wrapper.Model); Properties.Add(wrapper); wrapper.Name = ""; }
private async void OnRemoveExecute() { if (IsReferenced().Result) { await MessageDialogService.ShowInfoDialogAsync($"Язык {SelectedProperty.Name}" + $" не может быть удален , так как выбран в друге", "AHTUNG"); return; } SelectedProperty.PropertyChanged -= Wrapper_PropertyChanged; _repository.Delete(SelectedProperty.Model); Properties.Remove(SelectedProperty); SelectedProperty = null; HasChanges = _repository.HasChanges(); ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged(); }
public async override Task LoadAsync(int id) { Id = id; foreach (var wrapper in Properties) { wrapper.PropertyChanged -= Wrapper_PropertyChanged; } Properties.Clear(); var items = await _repository.GetAllAsync(); foreach (var model in items) { var wrapper = new PropertyItemWrapper <P>(model); wrapper.PropertyChanged += Wrapper_PropertyChanged; Properties.Add(wrapper); } }