public PresetModel GetResult()
        {
            if (_saveRequested)
            {
                _preset.GetValues(Preset);

                if (IsNewPreset)
                {
                    _presetService.AddPreset(_preset);
                }

                _presetService.SavePresets();

                return(_preset);
            }

            return(null);
        }
        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";
        }