Example #1
0
        /// <summary>
        /// Enables all available features.
        /// </summary>
        public static ModularServiceCollection WithAllFeatures(
            this ModularServiceCollection modules)
        {
            modules.Configure(services =>
            {
                services.AddAllFeaturesDescriptor();
            });

            return(modules);
        }
Example #2
0
        public static ModularServiceCollection WithConfiguredTenantsAndFeatures(this ModularServiceCollection modules)
        {
            modules.Configure(services =>
            {
                services.AddScoped <IShellSettingsManager, FileShellSettingsManager>();
                services.AddScoped <IShellDescriptorManager, FileShellDescriptorManager>();
            });

            return(modules);
        }
Example #3
0
        public static ModularServiceCollection AddConfiguration(
            this ModularServiceCollection modules, IConfiguration configuration)
        {
            // Register the configuration object for modules to register options with it
            if (configuration != null)
            {
                modules.Configure(services => services.AddSingleton <IConfiguration>(configuration));
            }

            return(modules);
        }
Example #4
0
        public static ModularServiceCollection WithDefaultFeatures(
            this ModularServiceCollection modules, params string[] featureIds)
        {
            modules.Configure(services =>
            {
                foreach (var featureId in featureIds)
                {
                    services.AddTransient(sp => new ShellFeature(featureId));
                }
                ;
            });

            return(modules);
        }
Example #5
0
        public static IServiceCollection AddModuleServices(this IServiceCollection services, Action <ModularServiceCollection> configure)
        {
            services.AddWebHost();
            services.AddManifestDefinition("Module.txt", "module");
            services.AddExtensionLocation("Modules");

            // Register custom services specific to modules
            var modularServiceCollection = new ModularServiceCollection(services);

            configure(modularServiceCollection);

            // Register the list of services to be resolved later on
            services.AddSingleton(_ => services);

            return(services);
        }