private void OnAddExecute() { var wrapper = new ProgrammingLanguageWrapper(new ProgrammingLanguage()); wrapper.PropertyChanged += Wrapper_PropertyChanged; _programmingLanguageRepository.Add(wrapper.Model); ProgrammingLanguages.Add(wrapper); //Trigger Validation wrapper.Name = ""; }
public override async Task LoadAsync(int id) { Id = id; foreach (var wrapper in ProgrammingLanguages) { wrapper.PropertyChanged -= Wrapper_PropertyChanged; } ProgrammingLanguages.Clear(); var languages = await _programmingLanguageRepository.GetAllAsync(); foreach (var model in languages) { var wrapper = new ProgrammingLanguageWrapper(model); wrapper.PropertyChanged += Wrapper_PropertyChanged; ProgrammingLanguages.Add(wrapper); } }
private async void OnRemoveExecute() { var isReferenced = await _programmingLanguageRepository.IsReferencedByFriendAsync(SelectedProgrammingLanguage.Id); if (isReferenced) { MessageDialogService.ShowInfoDialog($"language {SelectedProgrammingLanguage.Name} is referenced by Friends!"); return; } SelectedProgrammingLanguage.PropertyChanged -= Language_PropertyChanged; _programmingLanguageRepository.Remove(SelectedProgrammingLanguage.Model); ProgrammingLanguages.Remove(SelectedProgrammingLanguage); SelectedProgrammingLanguage = null; HasChanges = _programmingLanguageRepository.HasChanges(); ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged(); }
public async override Task LoadAsync(int id) { Id = id; foreach (var language in ProgrammingLanguages) { language.PropertyChanged -= Language_PropertyChanged; } ProgrammingLanguages.Clear(); var languages = await _programmingLanguageRepository.GetAllAsync(); foreach (var language in languages) { var wrapper = new ProgrammingLanguageWrapper(language); wrapper.PropertyChanged += Language_PropertyChanged; ProgrammingLanguages.Add(wrapper); } }
private async void OnRemoveExecute() { var isReferenced = await _programmingLanguageRepository.IsReferencedByFriendAsync(SelectedProgrammingLanguage.Id); if (isReferenced) { await MessageDialogService.ShowInfoDialogAsync($"The language {SelectedProgrammingLanguage.Name} can't be removes, as it is referenced by at least one friend."); return; } SelectedProgrammingLanguage.PropertyChanged -= Wrapper_PropertyChanged; _programmingLanguageRepository.Remove(SelectedProgrammingLanguage.Model); ProgrammingLanguages.Remove(SelectedProgrammingLanguage); SelectedProgrammingLanguage = null; HasChanges = _programmingLanguageRepository.HasChanges(); ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged(); }
public override async Task LoadAsync(int id) { Id = id; foreach (ProgrammingLanguageWrapper wrapper in ProgrammingLanguages) { wrapper.PropertyChanged -= HandleOnWrapperPropertyChanged; } ProgrammingLanguages.Clear(); IEnumerable <ProgrammingLanguage> languages = await _programmingLanguageRepository.GetAllAsync(); foreach (ProgrammingLanguage language in languages) { var wrapper = new ProgrammingLanguageWrapper(language); wrapper.PropertyChanged += HandleOnWrapperPropertyChanged; ProgrammingLanguages.Add(wrapper); } }
public async override Task LoadAsync(int id) { // Przydziel id modelu do detailmodelview Id = id; //odłącz eventy foreach (var languageWrapper in ProgrammingLanguages) { languageWrapper.PropertyChanged -= Wrapper_PropertyChanged; } //wyczyść listę języków ProgrammingLanguages.Clear(); //wypełnij ponownie i podepnij eventy var languages = await _repository.GetAllAsync(); foreach (var programmingLanguage in languages) { var wrapper = new ProgrammingLanguageWrapper(programmingLanguage); wrapper.PropertyChanged += Wrapper_PropertyChanged; ProgrammingLanguages.Add(wrapper); } }