mirror of https://github.com/abpframework/abp
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.
37 lines
1.1 KiB
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);
|
|
}
|
|
}
|
|
}
|