/// <summary> /// Deletes files and directories scheduled for deletion by the settings provider. /// </summary> /// <param name="settings"><see cref="ISettingsProvider"/> managing the files and directories scheduled for deletion.</param> /// <param name="provider"><see cref="IFileSystem"/> managing where the files and directories are located.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="settings"/> or <paramref name="provider"/> is null.</exception> protected async Task DeleteScheduledFiles(ISettingsProvider settings, IFileSystem provider) { if (settings == null) { throw new ArgumentNullException(nameof(settings)); } if (provider == null) { throw new ArgumentNullException(nameof(settings)); } // Files foreach (var item in settings.GetFilesScheduledForDeletion().ToList()) // Create a new list because the original will be continuously modified { if (CurrentFileSystem.FileExists(item)) { CurrentFileSystem.DeleteFile(item); } CurrentSettingsProvider.UnscheduleFileForDeletion(item); await CurrentSettingsProvider.Save(provider); } // Directories foreach (var item in settings.GetDirectoriesScheduledForDeletion().ToList()) { if (CurrentFileSystem.DirectoryExists(item)) { CurrentFileSystem.DeleteDirectory(item); } CurrentSettingsProvider.UnscheduleDirectoryForDeletion(item); await CurrentSettingsProvider.Save(provider); } }
public SettingsChanged(CurrentSettingsProvider settingsProvider, ILanguageProvider languageProvider, IGpoSettings gpoSettings, ISettingsManager settingsManager) { _settingsProvider = settingsProvider; _languageProvider = languageProvider; _gpoSettings = gpoSettings; settingsManager.SettingsSaved += SettingsManager_SettingsSaved; _currentSettingsSnapshot = _settingsProvider.Settings.Copy(); }
void impl_SelectedIndexChanged(object sender, EventArgs e) { foreach (Profile p in pHandler.Profiles) { if (CurrentSettingsProvider.IsSameType((TProfileSettings)p.BaseSettings)) { pHandler.SelectedProfile = p.Name; return; } } pHandler.SelectedProfile = null; }
void impl_SelectedIndexChanged(object sender, EventArgs e) { //only want to change the selected profile if the base setting do not match current settings provider. if (pHandler.CurrentProfile != null && CurrentSettingsProvider.IsSameType((TProfileSettings)pHandler.CurrentProfile.BaseSettings)) { return; } foreach (Profile p in pHandler.Profiles) { if (CurrentSettingsProvider.IsSameType((TProfileSettings)p.BaseSettings)) { pHandler.SelectedProfile = p.Name; return; } } pHandler.SelectedProfile = null; }