private async void OnRemoveExecute()
        {
            var isReferenced = await _programmingLanguageRepository.IsReferencedByFriendAsync(SelectedProgrammingLanguage.Id);

            if (isReferenced)
            {
                MessageDialogeService.ShowInfoDialog($"The language {SelectedProgrammingLanguage.Name} is already a favorite language for a friend it's cannot be deleted");
                return;
            }
            SelectedProgrammingLanguage.PropertyChanged -= Wrapper_PropertyChanged;
            _programmingLanguageRepository.Delete(SelectedProgrammingLanguage.Model);
            ProgrammingLanguages.Remove(SelectedProgrammingLanguage);
            SelectedProgrammingLanguage = null;
            HasChanged = _programmingLanguageRepository.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
Example #2
0
        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();
        }
Example #3
0
        private async void OnRemoveCommand()
        {
            var isReferenced = await _repository.IsReferencedByFriendAsync(SelectedProgrammingLanguage.Id);

            if (isReferenced)
            {
                MessageDialogService.ShowInfoDialog($"Cannot delete referenced language: {SelectedProgrammingLanguage.Name}");
                return;
            }

            SelectedProgrammingLanguage.PropertyChanged -= Wrapper_PropertyChanged; //odłącz eventy od usuwanego elementu
            _repository.Remove(SelectedProgrammingLanguage.Model);                  //wywal z repo
            ProgrammingLanguages.Remove(SelectedProgrammingLanguage);               //wywal z listy
            SelectedProgrammingLanguage = null;                                     //wybrany teraz jest null
            HasChanges = _repository.HasChanges();                                  // w repo zaszły zmiany więc ustawiamy flagę w modelu
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();                // odpalamy event i sprawdzamy czy Save może być aktywny
        }
        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();
        }
        private async void OnRemoveProgramminLanguageExecute()
        {
            var isReferenced = await this._programmingLanguagesService
                               .IsReferencedAsync(SelectedProgrammingLanguage.Id);

            if (isReferenced)
            {
                await this._messageDialogService.ShowInfoDialogAsync("This language is referencet by at least one friend, can't be removed");

                return;
            }


            SelectedProgrammingLanguage.PropertyChanged -= Wrapper_PropertyChanged;
            this._programmingLanguagesService.Remove(SelectedProgrammingLanguage.Model);
            ProgrammingLanguages.Remove(SelectedProgrammingLanguage);
            SelectedProgrammingLanguage = null;
            HasChange = this._programmingLanguagesService.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }
Example #6
0
        private async void OnRemoveExecute()
        {
            // Checking if language is referenced; cannot be deleted if it is.
            var isReferenced =
                await programmingLanguageRepository.IsReferencedByFriendAsync(SelectedProgrammingLanguage.Id);

            if (isReferenced)
            {
                MessageDialogService.ShowInfoDialogAsync($"The language {SelectedProgrammingLanguage.Name} cannot be deleted as it is referenced by one or more friends.");
                return;
            }

            SelectedProgrammingLanguage.PropertyChanged -= Wrapper_PropertyChanged;

            programmingLanguageRepository.Remove(SelectedProgrammingLanguage.Model);
            ProgrammingLanguages.Remove(SelectedProgrammingLanguage);

            SelectedProgrammingLanguage = null;

            HasChanges = programmingLanguageRepository.HasChanges();
            ((DelegateCommand)SaveCommand).RaiseCanExecuteChanged();
        }