public SettingsWindowViewModel(
            IAppSettingsManager appSettingsManager,
            IBackgroundTaskService backgroundTaskService,
            IServiceProvider serviceProvider,
            IKeySetProviderService keySetProviderService,
            ILoggerFactory loggerFactory)
        {
            _appSettingsManager    = appSettingsManager ?? throw new ArgumentNullException(nameof(appSettingsManager));
            _backgroundTaskService = backgroundTaskService ?? throw new ArgumentNullException(nameof(backgroundTaskService));
            _serviceProvider       = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider));
            _keySetProviderService = keySetProviderService ?? throw new ArgumentNullException(nameof(keySetProviderService));
            _logger = (loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory))).CreateLogger(this.GetType());

            _appSettings = appSettingsManager.Settings;

            BrowseProdKeysCommand    = new RelayCommand(BrowseProdKeys);
            BrowseConsoleKeysCommand = new RelayCommand(BrowseConsoleKeys);
            BrowseTitleKeysCommand   = new RelayCommand(BrowseTitleKeys);
            SaveSettingsCommand      = new RelayCommand(SaveSettings);
            CancelSettingsCommand    = new RelayCommand(CancelSettings);
            DownloadProdKeysCommand  = new RelayCommand(DownloadProdKeys, CanDownloadProdKeys);
            DownloadTitleKeysCommand = new RelayCommand(DownloadTitleKeys, CanDownloadTitleKeys);
            EditProdKeysCommand      = new RelayCommand(EditProdKeys, CanEditProdKeys);
            EditTitleKeysCommand     = new RelayCommand(EditTitleKeys, CanEditTitleKeys);
            EditConsoleKeysCommand   = new RelayCommand(EditConsoleKeys, CanEditConsoleKeys);

            ProdKeysFilePath           = _appSettings.ProdKeysFilePath;
            ConsoleKeysFilePath        = _appSettings.ConsoleKeysFilePath;
            TitleKeysFilePath          = _appSettings.TitleKeysFilePath;
            SelectedLogLevel           = _appSettings.LogLevel;
            ProdKeysDownloadUrl        = _appSettings.ProdKeysDownloadUrl;
            TitleKeysDownloadUrl       = _appSettings.TitleKeysDownloadUrl;
            AlwaysReloadKeysBeforeOpen = _appSettings.AlwaysReloadKeysBeforeOpen;
            TitlePageUrl          = _appSettings.TitlePageUrl;
            this.SelectedLanguage = LocalizationManager.Instance.Current;

            _backgroundTaskService.PropertyChanged += (_, args) =>
            {
                if (args.PropertyName == nameof(IBackgroundTaskService.IsRunning))
                {
                    DownloadProdKeysCommand.TriggerCanExecuteChanged();
                    DownloadTitleKeysCommand.TriggerCanExecuteChanged();
                }
            };

            _keySetProviderService.PropertyChanged += (_, args) =>
            {
                if (args.PropertyName == nameof(IKeySetProviderService.ActualProdKeysFilePath))
                {
                    NotifyPropertyChanged(nameof(ActualProdKeysFilePath));
                }
                else if (args.PropertyName == nameof(IKeySetProviderService.ActualTitleKeysFilePath))
                {
                    NotifyPropertyChanged(nameof(ActualTitleKeysFilePath));
                }
                else if (args.PropertyName == nameof(IKeySetProviderService.ActualConsoleKeysFilePath))
                {
                    NotifyPropertyChanged(nameof(ActualConsoleKeysFilePath));
                }
            };
        }
Ejemplo n.º 2
0
 public LoadKeysCommand(IKeySetProviderService keySetProviderService, ILoggerFactory loggerFactory)
 {
     _keySetProviderService = keySetProviderService ?? throw new ArgumentNullException(nameof(keySetProviderService));
     _logger = (loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory))).CreateLogger(this.GetType());
 }
Ejemplo n.º 3
0
 public FileItemLoader(IKeySetProviderService keySetProviderService, ILoggerFactory loggerFactory, IAppSettings appSettings)
 {
     _keySetProviderService = keySetProviderService ?? throw new ArgumentNullException(nameof(keySetProviderService));
     _appSettings           = appSettings ?? throw new ArgumentNullException(nameof(appSettings));
     _logger = (loggerFactory ?? throw new ArgumentNullException(nameof(loggerFactory))).CreateLogger(this.GetType());
 }