public static void RemoveSettingsValues(this SystemConfiguration configuration, Type settingsClass, SettingScope?scope = null)
{
var removeApplicationSettings = !scope.HasValue || scope.Value == SettingScope.Application;
var removeUserSettings = !scope.HasValue || scope.Value == SettingScope.User;
if (removeApplicationSettings)
{
var sectionPath = new ConfigurationSectionPath(settingsClass, SettingScope.Application);
ConfigurationSectionGroup group = configuration.GetSectionGroup(sectionPath.GroupPath);
if (group != null)
{
group.Sections.Remove(sectionPath.SectionName);
}
}
if (removeUserSettings)
{
var sectionPath = new ConfigurationSectionPath(settingsClass, SettingScope.User);
var group = configuration.GetSectionGroup(sectionPath.GroupPath);
if (group != null)
{
group.Sections.Remove(sectionPath.SectionName);
}
}
configuration.Save(ConfigurationSaveMode.Minimal, true);
}