/// <summary> /// 一般写入读取测试 /// </summary> private static void saveLoadTest(string file) { //测试写入 ISaveSettings <TestSetting> setting = Factory.Create <TestSetting>(file); setting.SaveSettings(new TestSetting()); if (setting is IDisposable dis) { dis.Dispose(); } //测试读取 IGetSettins <TestSetting> set = Factory.Create <TestSetting>(file); var obj = set.GetSettingsObject(); var objT = new TestSetting(); foreach (var p in typeof(TestSetting).GetProperties()) { var pv = p.GetValue(obj); var pvt = p.GetValue(objT); Assert.AreEqual(pv, pvt); } if (set is IDisposable disG) { disG.Dispose(); } }
public SettingsWindowViewModel(ISettingsProvider settingsProvider, ISaveSettings settingsSaver) { if (settingsProvider == null) { throw new ArgumentNullException(nameof(settingsProvider)); } if (settingsSaver == null) { throw new ArgumentNullException(nameof(settingsSaver)); } _settingsProvider = settingsProvider; _settingsSaver = settingsSaver; }
public MainWindowViewModel(ISettingsProvider settingsProvider, IServeMedia mediaServer, IMediaProvider mediaProvider, ISaveSettings settingsSaver, IIntervalTimer mediaTimer, IIntervalTimer previewTimer, IGetViewPreview viewPreviewProvider) { if (settingsProvider == null) { throw new ArgumentNullException(nameof(settingsProvider)); } if (mediaServer == null) { throw new ArgumentNullException(nameof(mediaServer)); } if (mediaProvider == null) { throw new ArgumentNullException(nameof(mediaProvider)); } if (settingsSaver == null) { throw new ArgumentNullException(nameof(settingsSaver)); } if (mediaTimer == null) { throw new ArgumentNullException(nameof(mediaTimer)); } if (previewTimer == null) { throw new ArgumentNullException(nameof(previewTimer)); } if (viewPreviewProvider == null) { throw new ArgumentNullException(nameof(viewPreviewProvider)); } _settingsProvider = settingsProvider; _mediaServer = mediaServer; _mediaProvider = mediaProvider; _settingsSaver = settingsSaver; _mediaTimer = mediaTimer; _previewTimer = previewTimer; _viewPreviewProvider = viewPreviewProvider; _settingsProvider.SettingsChanged += (s, o) => { var settingName = (o as System.Configuration.SettingChangingEventArgs).SettingName; switch (settingName) { case nameof(_settingsProvider.UseFade): App.Current.Dispatcher.BeginInvoke(new Action(() => SendPropertyChanged(nameof(UseFade)))); break; } }; _mediaProvider.MediaCollectionPopulated += (s, o) => App.Current.Dispatcher.BeginInvoke(new Action(() => SendPropertyChanged(nameof(CurrentMedia)))); _mediaProvider.MediaCollectionChanged += (s, o) => App.Current.Dispatcher.BeginInvoke(new Action(() => SendPropertyChanged(nameof(MediaCollection)))); _mediaServer.CurrentMediaUpdated += (s, o) => App.Current.Dispatcher.BeginInvoke(new Action(() => SendPropertyChanged(nameof(CurrentMedia)))); _mediaProvider.ForceUpdate(); SendPropertyChanged(nameof(_settingsProvider.ShowPreview)); _previewTimer.Initialize(TimeSpan.FromSeconds(1), () => UpdatePreview()); _previewTimer.Start(); }