You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeature.cs

37 lines
1.1 KiB

using JetBrains.Annotations;
namespace Volo.Abp.GlobalFeatures
{
public class GlobalFeature
{
public GlobalFeatureManagerModuleConfigurator ModuleConfigurator { get; }
public string Name { get; }
public bool IsEnabled => ModuleConfigurator.ModulesConfigurator.FeatureManager.IsEnabled(Name);
public GlobalFeature(
[NotNull] GlobalFeatureManagerModuleConfigurator moduleConfigurator,
[NotNull] string name)
{
ModuleConfigurator = Check.NotNull(moduleConfigurator, nameof(moduleConfigurator));
Name = Check.NotNullOrWhiteSpace(name, nameof(name));
}
public virtual void Enable()
{
ModuleConfigurator.ModulesConfigurator.FeatureManager.Enable(Name);
}
public virtual void Disable()
{
ModuleConfigurator.ModulesConfigurator.FeatureManager.Disable(Name);
}
public virtual void SetEnabled(bool isEnabled)
{
ModuleConfigurator.ModulesConfigurator.FeatureManager.SetEnabled(Name, isEnabled);
}
}
}