private bool TrySet(IFeatureConfiguration configuration, bool disable) { var success = false; var status = FeatureConfigurationStatus.Undefined; configuration.Initialize(); backup.Save(configuration); if (disable) { success = configuration.DisableFeature(); status = FeatureConfigurationStatus.Disabled; } else { success = configuration.EnableFeature(); status = FeatureConfigurationStatus.Enabled; } if (success) { monitor.Observe(configuration, status); } else { logger.Error($"Failed to configure {configuration}!"); } return(success); }
private void Enforce(IFeatureConfiguration configuration, FeatureConfigurationStatus status) { var currentStatus = configuration.GetStatus(); if (currentStatus != status) { logger.Warn($"{configuration} is {currentStatus.ToString().ToLower()} instead of {status.ToString().ToLower()}!"); if (status == FeatureConfigurationStatus.Disabled) { configuration.DisableFeature(); } else if (status == FeatureConfigurationStatus.Enabled) { configuration.EnableFeature(); } } }