async Task IConfigurationStorage.SaveChanges( Models.Client.ConfigurationSettings configurationSettings) { using (await _asyncMutex.WaitAsync().ConfigureAwait(false)) { var directoryInfo = new DirectoryInfo(Path.GetDirectoryName(_filePath)); if (!directoryInfo.Exists) { directoryInfo.Create(); } using (var stream = new FileStream(_filePath, FileMode.Create)) { await _configurationDataSerializer.Serialize( stream, new Models.Data.ConfigurationData( configurationSettings.CardTextOffset, configurationSettings.FontSize, configurationSettings.HasLoaded, configurationSettings.PowerLogFilePath, configurationSettings.TextEditorFilePath, configurationSettings.TrackerWindowLocation, configurationSettings.TrackerWindowSize)).ConfigureAwait(false); } } }
async Task IConfigurationStorage.SaveChanges( Models.Client.ConfigurationSettings configurationSettings) { await _configurationStorage.SaveChanges(configurationSettings).ConfigureAwait(false); _eventDispatcher.DispatchEvent(new ViewEvents.ConfigurationSettingsSaved()); }
public ConfigurationSettingsViewModel( IBackgroundWorkInterface backgroundWorkInterface, IConfigurationSource configurationSource, IConfigurationStorage configurationStorage) { _backgroundWorkInterface = backgroundWorkInterface.Require(nameof(backgroundWorkInterface)); _configurationSource = configurationSource.Require(nameof(configurationSource)); _configurationStorage = configurationStorage.Require(nameof(configurationStorage)); Models.Client.ConfigurationSettings configurationSettings = _configurationSource.GetSettings(); CardTextOffset = configurationSettings.CardTextOffset; FontSize = configurationSettings.FontSize; _powerLogFilePath = configurationSettings.PowerLogFilePath; }