Beispiel #1
0
        /// <summary>
        /// Register program assembly
        /// </summary>
        /// <param name="conf"></param>
        /// <param name="programType"></param>
        /// <returns></returns>
        public static IDashboardServiceCollection RegisterProgramAssembly(this IDashboardServiceCollection conf, Type programType)
        {
            if (programType.Name.Equals("Program").Negate())
            {
                throw new Exception("Incorrect program type");
            }
            var engineBuilder = new RazorLightEngineBuilder()
                                .UseEmbeddedResourcesProject(programType)
                                .UseMemoryCachingProvider();

            RazorCompilerEngine.RegisterEngine(engineBuilder);
            return(conf);
        }
Beispiel #2
0
 /// <summary>
 /// Add dashboard module storage
 /// </summary>
 /// <typeparam name="TDbContext"></typeparam>
 /// <param name="configuration"></param>
 /// <param name="options"></param>
 /// <returns></returns>
 public static IDashboardServiceCollection AddDashboardModuleStorage <TDbContext>(
     this IDashboardServiceCollection configuration, Action <DbContextOptionsBuilder> options)
     where TDbContext : DbContext, IDashboardDbContext
 {
     Arg.NotNull(configuration.Services, nameof(AddDashboardModuleStorage));
     configuration.Services.AddDbContext <TDbContext>(options, ServiceLifetime.Transient);
     configuration.Services.AddScopedContextFactory <IDashboardDbContext, TDbContext>();
     SystemEvents.Database.OnMigrate += (sender, args) =>
     {
         GearApplication.GetHost <IWebHost>().MigrateDbContext <TDbContext>();
     };
     return(configuration);
 }
Beispiel #3
0
        /// <summary>
        /// Register ui module
        /// </summary>
        /// <param name="services"></param>
        /// <returns></returns>
        public static IDashboardServiceCollection AddDashboardRazorUIModule(this IDashboardServiceCollection services)
        {
            services.Services.ConfigureOptions(typeof(DashBoardFileConfiguration));

            MenuEvents.Menu.OnMenuSeed += (sender, args) =>
            {
                GearApplication.BackgroundTaskQueue.PushBackgroundWorkItemInQueue(async x =>
                {
                    await x.InjectService <IMenuService>().AppendMenuItemsAsync(new DashboardMenuInitializer());
                });
            };
            return(services);
        }
Beispiel #4
0
 /// <summary>
 /// Register render service
 /// </summary>
 /// <param name="configuration"></param>
 /// <param name="renders"></param>
 /// <returns></returns>
 public static IDashboardServiceCollection AddDashboardRenderServices(this IDashboardServiceCollection configuration, Dictionary <Type, Type> renders)
 {
     IoC.RegisterServiceCollection(renders);
     return(configuration);
 }
Beispiel #5
0
 /// <summary>
 /// Register services
 /// </summary>
 /// <param name="configuration"></param>
 /// <returns></returns>
 public static IDashboardServiceCollection RegisterDashboardEvents(this IDashboardServiceCollection configuration)
 {
     return(configuration);
 }
Beispiel #6
0
 /// <summary>
 /// Register ui module
 /// </summary>
 /// <param name="services"></param>
 /// <returns></returns>
 public static IDashboardServiceCollection AddDashboardRazorUIModule(this IDashboardServiceCollection services)
 {
     services.Services.ConfigureOptions(typeof(DashBoardFileConfiguration));
     return(services);
 }