diff --git a/modules/cms-kit/host/Volo.CmsKit.Host.Shared/FeatureConfigurer.cs b/modules/cms-kit/host/Volo.CmsKit.Host.Shared/FeatureConfigurer.cs index 162fa7cf51..d600e99cd9 100644 --- a/modules/cms-kit/host/Volo.CmsKit.Host.Shared/FeatureConfigurer.cs +++ b/modules/cms-kit/host/Volo.CmsKit.Host.Shared/FeatureConfigurer.cs @@ -6,7 +6,7 @@ namespace Volo.CmsKit { public static void Configure() { - GlobalFeatureManager.Instance.Modules().CmsKit().EnableAll(); + GlobalFeatureManager.Instance.Modules.CmsKit().EnableAll(); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeature.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeature.cs deleted file mode 100644 index 4221b635c0..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeature.cs +++ /dev/null @@ -1,36 +0,0 @@ -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); - } - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureConfigurator.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureConfigurator.cs new file mode 100644 index 0000000000..fb259d7df6 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureConfigurator.cs @@ -0,0 +1,45 @@ +using JetBrains.Annotations; + +namespace Volo.Abp.GlobalFeatures +{ + public class GlobalFeature + { + [NotNull] + public GlobalModuleFeatures Module { get; } + + [NotNull] + public GlobalFeatureManager FeatureManager { get; } + + public string FeatureName { get; } + + public bool IsEnabled + { + get => FeatureManager.IsEnabled(FeatureName); + set => FeatureManager.SetEnabled(FeatureName, value); + } + + public GlobalFeature( + [NotNull] GlobalModuleFeatures module, + [NotNull] string name) + { + Module = Check.NotNull(module, nameof(module)); + FeatureName = Check.NotNullOrWhiteSpace(name, nameof(name)); + FeatureManager = Module.FeatureManager; + } + + public virtual void Enable() + { + FeatureManager.Enable(FeatureName); + } + + public virtual void Disable() + { + FeatureManager.Disable(FeatureName); + } + + public virtual void SetEnabled(bool isEnabled) + { + + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureConfiguratorDictionary.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureConfiguratorDictionary.cs new file mode 100644 index 0000000000..72114eff3d --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureConfiguratorDictionary.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; + +namespace Volo.Abp.GlobalFeatures +{ + public class GlobalFeatureConfiguratorDictionary : Dictionary + { + + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManager.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManager.cs index bed947e4a8..7819f985de 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManager.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManager.cs @@ -4,19 +4,46 @@ using JetBrains.Annotations; namespace Volo.Abp.GlobalFeatures { - public class GlobalFeatureManager //TODO: Move to the ABP Framework..? //rename? + public class GlobalFeatureManager { public static GlobalFeatureManager Instance { get; protected set; } = new GlobalFeatureManager(); [NotNull] - public ConcurrentDictionary Configuration { get; } + public Dictionary Configuration { get; } + + public GlobalFeatureManagerModuleDictionary Modules { get; } protected HashSet EnabledFeatures { get; } private GlobalFeatureManager() { EnabledFeatures = new HashSet(); - Configuration = new ConcurrentDictionary(); + Configuration = new Dictionary(); + Modules = new GlobalFeatureManagerModuleDictionary(this); + } + + public virtual bool IsEnabled() + where TFeature : GlobalFeature + { + return IsEnabled(GlobalFeatureNameAttribute.GetName()); + } + + public virtual void SetEnabled(bool isEnabled) + where TFeature : GlobalFeature + { + SetEnabled(GlobalFeatureNameAttribute.GetName(), isEnabled); + } + + public virtual void Enable() + where TFeature : GlobalFeature + { + Enable(GlobalFeatureNameAttribute.GetName()); + } + + public virtual void Disable() + where TFeature : GlobalFeature + { + Disable(GlobalFeatureNameAttribute.GetName()); } public virtual bool IsEnabled(string featureName) @@ -46,7 +73,7 @@ namespace Volo.Abp.GlobalFeatures EnabledFeatures.Remove(featureName); } - public virtual IEnumerable GetEnabledFeatures() + public virtual IEnumerable GetEnabledFeatureNames() { return EnabledFeatures; } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerCmsKitConfigurator.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerCmsKitConfigurator.cs deleted file mode 100644 index c3a1183866..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerCmsKitConfigurator.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace Volo.Abp.GlobalFeatures -{ - public class GlobalFeatureManagerCmsKitConfigurator : GlobalFeatureManagerModuleConfigurator - { - public GlobalFeatureManagerCmsKitConfigurator(GlobalFeatureManagerModulesConfigurator modulesConfigurator) - : base(modulesConfigurator) - { - this.Reactions(); - this.Comments(); - } - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerCmsKitConfiguratorExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerCmsKitConfiguratorExtensions.cs deleted file mode 100644 index 4175271f0b..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerCmsKitConfiguratorExtensions.cs +++ /dev/null @@ -1,52 +0,0 @@ -using System; -using JetBrains.Annotations; - -namespace Volo.Abp.GlobalFeatures -{ - public static class GlobalFeatureManagerCmsKitConfiguratorExtensions - { - public static GlobalFeature Reactions( - [NotNull] this GlobalFeatureManagerCmsKitConfigurator cmsKitConfigurator) - { - Check.NotNull(cmsKitConfigurator, nameof(cmsKitConfigurator)); - - return cmsKitConfigurator - .Features - .GetOrAdd("Reactions", _ => new GlobalFeature(cmsKitConfigurator, "CmsKit:Reactions")) - as GlobalFeature; - } - - public static GlobalFeatureManagerCmsKitConfigurator Reactions( - [NotNull] this GlobalFeatureManagerCmsKitConfigurator cmsKitConfigurator, - [NotNull] Action configureAction) - { - Check.NotNull(cmsKitConfigurator, nameof(cmsKitConfigurator)); - - configureAction(cmsKitConfigurator.Reactions()); - - return cmsKitConfigurator; - } - - public static GlobalFeature Comments( - [NotNull] this GlobalFeatureManagerCmsKitConfigurator cmsKitConfigurator) - { - Check.NotNull(cmsKitConfigurator, nameof(cmsKitConfigurator)); - - return cmsKitConfigurator - .Features - .GetOrAdd("Comments", _ => new GlobalFeature(cmsKitConfigurator, "CmsKit:Comments")) - as GlobalFeature; - } - - public static GlobalFeatureManagerCmsKitConfigurator Comments( - [NotNull] this GlobalFeatureManagerCmsKitConfigurator cmsKitConfigurator, - [NotNull] Action configureAction) - { - Check.NotNull(cmsKitConfigurator, nameof(cmsKitConfigurator)); - - configureAction(cmsKitConfigurator.Comments()); - - return cmsKitConfigurator; - } - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerExtensions.cs deleted file mode 100644 index 9f148fcef9..0000000000 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerExtensions.cs +++ /dev/null @@ -1,18 +0,0 @@ -using JetBrains.Annotations; - -namespace Volo.Abp.GlobalFeatures -{ - public static class GlobalFeatureManagerExtensions - { - public static GlobalFeatureManagerModulesConfigurator Modules( - [NotNull] this GlobalFeatureManager featureManager) - { - Check.NotNull(featureManager, nameof(featureManager)); - - return featureManager - .Configuration - .GetOrAdd("_Modules", _ => new GlobalFeatureManagerModulesConfigurator(featureManager)) - as GlobalFeatureManagerModulesConfigurator; - } - } -} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModuleConfigurator.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModuleConfigurator.cs index 1c9ff9ae7c..edd1c7f0aa 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModuleConfigurator.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModuleConfigurator.cs @@ -1,25 +1,25 @@ -using System.Collections.Concurrent; -using JetBrains.Annotations; +using JetBrains.Annotations; namespace Volo.Abp.GlobalFeatures { - public abstract class GlobalFeatureManagerModuleConfigurator + public abstract class GlobalModuleFeatures { [NotNull] - public GlobalFeatureManagerModulesConfigurator ModulesConfigurator { get; } + public GlobalFeatureConfiguratorDictionary AllFeatures { get; } [NotNull] - public ConcurrentDictionary Features { get; } + public GlobalFeatureManager FeatureManager { get; } - protected GlobalFeatureManagerModuleConfigurator(GlobalFeatureManagerModulesConfigurator modulesConfigurator) + protected GlobalModuleFeatures( + GlobalFeatureManager featureManager) { - ModulesConfigurator = Check.NotNull(modulesConfigurator, nameof(modulesConfigurator)); - Features = new ConcurrentDictionary(); + AllFeatures = new GlobalFeatureConfiguratorDictionary(); + FeatureManager = featureManager; } public virtual void EnableAll() { - foreach (var feature in Features.Values) + foreach (var feature in AllFeatures.Values) { feature.Enable(); } @@ -27,10 +27,31 @@ namespace Volo.Abp.GlobalFeatures public virtual void DisableAll() { - foreach (var feature in Features.Values) + foreach (var feature in AllFeatures.Values) { feature.Disable(); } } + + protected void AddFeature(string featureName) + { + AddFeature(new GlobalFeature(this, featureName)); + } + + protected void AddFeature(GlobalFeature feature) + { + AllFeatures[feature.FeatureName] = feature; + } + + protected GlobalFeature GetFeature(string featureName) + { + return AllFeatures[featureName]; + } + + protected TFeature GetFeature(string featureName) + where TFeature : GlobalFeature + { + return (TFeature) AllFeatures[featureName]; + } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModuleConfiguratorCmsKitExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModuleConfiguratorCmsKitExtensions.cs index 9449ef702c..76b3df92d5 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModuleConfiguratorCmsKitExtensions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModuleConfiguratorCmsKitExtensions.cs @@ -1,30 +1,31 @@ using System; +using System.Collections.Generic; using JetBrains.Annotations; +using Volo.CmsKit.GlobalFeatures; namespace Volo.Abp.GlobalFeatures { public static class GlobalFeatureManagerModuleConfiguratorCmsKitExtensions { - public static GlobalFeatureManagerCmsKitConfigurator CmsKit( - [NotNull] this GlobalFeatureManagerModulesConfigurator modulesConfigurator) + public static GlobalCmsKitFeatures CmsKit( + [NotNull] this GlobalFeatureManagerModuleDictionary modules) { - Check.NotNull(modulesConfigurator, nameof(modulesConfigurator)); + Check.NotNull(modules, nameof(modules)); - return modulesConfigurator - .Modules - .GetOrAdd("CmsKit", _ => new GlobalFeatureManagerCmsKitConfigurator(modulesConfigurator)) - as GlobalFeatureManagerCmsKitConfigurator; + return modules + .GetOrAdd(GlobalCmsKitFeatures.ModuleName, _ => new GlobalCmsKitFeatures(modules.FeatureManager)) + as GlobalCmsKitFeatures; } - public static GlobalFeatureManagerModulesConfigurator CmsKit( - [NotNull] this GlobalFeatureManagerModulesConfigurator modulesConfigurator, - [NotNull] Action configureAction) + public static GlobalFeatureManagerModuleDictionary CmsKit( + [NotNull] this GlobalFeatureManagerModuleDictionary modules, + [NotNull] Action configureAction) { Check.NotNull(configureAction, nameof(configureAction)); - configureAction(modulesConfigurator.CmsKit()); + configureAction(modules.CmsKit()); - return modulesConfigurator; + return modules; } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModulesConfigurator.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModulesConfigurator.cs index acaa13beab..d48dfee4f8 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModulesConfigurator.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureManagerModulesConfigurator.cs @@ -1,19 +1,16 @@ -using System.Collections.Concurrent; +using System.Collections.Generic; using JetBrains.Annotations; namespace Volo.Abp.GlobalFeatures { - public class GlobalFeatureManagerModulesConfigurator //TODO: Change to GlobalFeatureManagerModuleDictionary and inherit from ConcurrentDictionary + public class GlobalFeatureManagerModuleDictionary : Dictionary { public GlobalFeatureManager FeatureManager { get; } - [NotNull] - public ConcurrentDictionary Modules { get; } - - public GlobalFeatureManagerModulesConfigurator([NotNull] GlobalFeatureManager featureManager) + public GlobalFeatureManagerModuleDictionary( + [NotNull] GlobalFeatureManager featureManager) { FeatureManager = Check.NotNull(featureManager, nameof(featureManager)); - Modules = new ConcurrentDictionary(); } } } diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureNameAttribute.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureNameAttribute.cs new file mode 100644 index 0000000000..b5468096d3 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/Abp/GlobalFeatures/GlobalFeatureNameAttribute.cs @@ -0,0 +1,40 @@ +using System; +using System.Linq; +using System.Reflection; +using JetBrains.Annotations; + +namespace Volo.Abp.GlobalFeatures +{ + [AttributeUsage(AttributeTargets.Class)] + public class GlobalFeatureNameAttribute : Attribute + { + public string Name { get; } + + public GlobalFeatureNameAttribute([NotNull] string name) + { + Name = Check.NotNullOrWhiteSpace(name, nameof(name)); + } + + public static string GetName() + where TFeature : GlobalFeature + { + return GetName(typeof(TFeature)); + } + + public static string GetName(Type type) + { + var attribute = type + .GetCustomAttributes() + .FirstOrDefault(); + + if (attribute == null) + { + throw new AbpException($"{type.AssemblyQualifiedName} should define the {typeof(GlobalFeatureNameAttribute).FullName} atttribute!"); + } + + return attribute + .As() + .Name; + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitDomainSharedModule.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitDomainSharedModule.cs index 468222df8f..0afe98f7c9 100644 --- a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitDomainSharedModule.cs +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/CmsKitDomainSharedModule.cs @@ -16,16 +16,14 @@ namespace Volo.CmsKit { public override void ConfigureServices(ServiceConfigurationContext context) { - GlobalFeatureManager.Instance.Modules().CmsKit().EnableAll(); - GlobalFeatureManager.Instance.Modules().CmsKit().DisableAll(); - GlobalFeatureManager.Instance.Modules().CmsKit().Reactions().Enable(); - GlobalFeatureManager.Instance.Modules().CmsKit(cmsKit => + GlobalFeatureManager.Instance.Modules.CmsKit().EnableAll(); + GlobalFeatureManager.Instance.Modules.CmsKit().DisableAll(); + GlobalFeatureManager.Instance.Modules.CmsKit().Reactions.Enable(); + GlobalFeatureManager.Instance.Modules.CmsKit().Reactions.Enable(); + GlobalFeatureManager.Instance.Modules.CmsKit(cmsKit => { - cmsKit.Reactions().Disable(); - cmsKit.Reactions(reactions => - { - reactions.Enable(); - }); + cmsKit.Reactions.Disable(); + cmsKit.Comments.Enable(); }); GlobalFeatureManager.Instance.IsEnabled("asd"); diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/CommentsFeature.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/CommentsFeature.cs new file mode 100644 index 0000000000..63cafd6744 --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/CommentsFeature.cs @@ -0,0 +1,17 @@ +using JetBrains.Annotations; +using Volo.Abp.GlobalFeatures; + +namespace Volo.CmsKit.GlobalFeatures +{ + [GlobalFeatureName(Name)] + public class CommentsFeature : GlobalFeature + { + public const string Name = "CmsKit.Comments"; + + public CommentsFeature( + [NotNull] GlobalCmsKitFeatures cmsKit + ) : base(cmsKit, Name) + { + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/GlobalFeatureManagerCmsKitConfigurator.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/GlobalFeatureManagerCmsKitConfigurator.cs new file mode 100644 index 0000000000..7fb1638e2d --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/GlobalFeatureManagerCmsKitConfigurator.cs @@ -0,0 +1,20 @@ +using Volo.Abp.GlobalFeatures; + +namespace Volo.CmsKit.GlobalFeatures +{ + public class GlobalCmsKitFeatures : GlobalModuleFeatures + { + public const string ModuleName = "CmsKit"; + + public ReactionsFeature Reactions => GetFeature(ReactionsFeature.Name); + + public CommentsFeature Comments => GetFeature(CommentsFeature.Name); + + public GlobalCmsKitFeatures(GlobalFeatureManager featureManager) + : base(featureManager) + { + AddFeature(new ReactionsFeature(this)); + AddFeature(new CommentsFeature(this)); + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/ReactionsFeature.cs b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/ReactionsFeature.cs new file mode 100644 index 0000000000..ec658fd8ca --- /dev/null +++ b/modules/cms-kit/src/Volo.CmsKit.Domain.Shared/Volo/CmsKit/GlobalFeatures/ReactionsFeature.cs @@ -0,0 +1,17 @@ +using JetBrains.Annotations; +using Volo.Abp.GlobalFeatures; + +namespace Volo.CmsKit.GlobalFeatures +{ + [GlobalFeatureName(Name)] + public class ReactionsFeature : GlobalFeature + { + public const string Name = "CmsKit.Reactions"; + + public ReactionsFeature( + [NotNull] GlobalCmsKitFeatures cmsKit + ) : base(cmsKit, Name) + { + } + } +} diff --git a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs index d16d11c40a..d1fcaf8211 100644 --- a/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs +++ b/modules/cms-kit/src/Volo.CmsKit.EntityFrameworkCore/Volo/CmsKit/EntityFrameworkCore/CmsKitDbContextModelCreatingExtensions.cs @@ -7,6 +7,7 @@ using Volo.CmsKit.Comments; using Volo.CmsKit.Reactions; using Volo.CmsKit.Users; using Volo.Abp.Users.EntityFrameworkCore; +using Volo.CmsKit.GlobalFeatures; namespace Volo.CmsKit.EntityFrameworkCore { @@ -33,7 +34,7 @@ namespace Volo.CmsKit.EntityFrameworkCore b.ConfigureAbpUser(); }); - if (GlobalFeatureManager.Instance.Modules().CmsKit().Reactions().IsEnabled) + if (GlobalFeatureManager.Instance.IsEnabled()) { builder.Entity(b => { @@ -50,7 +51,7 @@ namespace Volo.CmsKit.EntityFrameworkCore }); } - if (GlobalFeatureManager.Instance.Modules().CmsKit().Comments().IsEnabled) + if (GlobalFeatureManager.Instance.IsEnabled()) { builder.Entity(b => { diff --git a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestBaseModule.cs b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestBaseModule.cs index 9ceaa348d0..a6da60876c 100644 --- a/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestBaseModule.cs +++ b/modules/cms-kit/test/Volo.CmsKit.TestBase/CmsKitTestBaseModule.cs @@ -19,7 +19,7 @@ namespace Volo.CmsKit { public override void ConfigureServices(ServiceConfigurationContext context) { - GlobalFeatureManager.Instance.Modules().CmsKit().EnableAll(); + GlobalFeatureManager.Instance.Modules.CmsKit().EnableAll(); context.Services.AddAlwaysAllowAuthorization(); }