protected override async void OnSaveExecute() { try { await _programmingLanguageRepository.SaveAsync(); HasChanges = _programmingLanguageRepository.HasChanges(); // ReiseCollectionSavedEvent(); } catch (Exception e) { while (e.InnerException != null) { e = e.InnerException; } await MassegeDialogService.ShowInfoDialogAsync("Error while Saving the entities, " + " the data will be reloaded: " + e.Message); await LoadAsync(Id); } }
private async void OnRemoveExecute() { var isReference = await _programmingLanguageRepository.IsReferenceByFriendAsync(SelectedProgrammingLanguage.Id); if (isReference) { await MassegeDialogService.ShowInfoDialogAsync($"The Language {SelectedProgrammingLanguage.Name} can't be removed," + $"as it is referenced by at least one of friend"); return; } SelectedProgrammingLanguage.PropertyChanged -= Wrapper_PropertyChanged; _programmingLanguageRepository.Remove(SelectedProgrammingLanguage.Model); ProgrammingLanguages.Remove(SelectedProgrammingLanguage); SelectedProgrammingLanguage = null; HasChanges = _programmingLanguageRepository.HasChanges(); ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged(); }