private void ImagePropertyChanged(object sender, PropertyChangedEventArgs e) { var image = (ImageModel)sender; if (e.PropertyName == nameof(image.Preset)) { if (!_presetService.PresetExists(image.Preset)) { throw new InvalidOperationException("Cannot use a preset that does not exist."); } CanRemovePreset = image.Preset != _presetService.DefaultPreset; } CanCreateImage = !image.HasErrors; }
public PresetViewModel(PresetModel preset, IPresetService presetService, IDialogService dialogService) { BrowseBiosCommand = new DelegateCommand <Window>(BrowseBiosAction); BrowseUefiCommand = new DelegateCommand <Window>(BrowseUefiAction); ResetBiosCommand = new DelegateCommand(ResetBiosAction); ResetUefiCommand = new DelegateCommand(ResetUefiAction); SaveCommand = new DelegateCommand <IClosable>(SaveAction, CanSaveAction); CancelCommand = new DelegateCommand <IClosable>(CancelAction); _preset = preset; _presetService = presetService; _dialogService = dialogService; IsNewPreset = !_presetService.PresetExists(_preset); NameReadOnly = !IsNewPreset; NameBackground = IsNewPreset ? _BackgroundWhite : _BackgroundGray; Preset = new PresetModel(); Preset.PropertyChanged += PresetPropertyChanged; Preset.GetValues(_preset); WindowTitle = IsNewPreset ? "Add Preset" : "Edit Preset"; }
public PresetNotExistError(IPresetService svc, PresetModel value, [CallerMemberName] string propertyName = null) { HasError = !svc.PresetExists(value); ErrorMessage = "This preset does not exist."; PropertyName = propertyName; }