public static IDiContainerBuilder AddSingletonCollectionFor <TService>(this IDiContainerBuilder builder) where TService : class { AddCollection(typeof(TService), types => builder.AddScopedCollection <TService>(types)); return(builder); }
public static IDiContainerBuilder RegisterImplementations(this IDiContainerBuilder builder, IEnumerable <Type> types) { new AutoRegisterImplementations(builder).ForTypes(types).Register(); return(builder); }
public static IDiContainerBuilder RegisterImplementations(this IDiContainerBuilder builder, Assembly assembly) { new AutoRegisterImplementations(builder).ForTypesInAssembly(assembly).Register(); return(builder); }
private static IDiContainerBuilder SetupDriversSubSystem(this IDiContainerBuilder containerBuilder) { containerBuilder .AddScoped <IDriverSubSystem, DriverSubSystem>() .AddScoped <IDriverLoader, DriverLoader>(); return(containerBuilder); }
private static void SetupHalt(this IDiContainerBuilder containerBuilder) { containerBuilder .AddScoped <IKernelHaltProcess, KernelHaltProcess>() .AddScoped <IThingsHaltStep, ThingsHaltStep>() .AddScoped <IItemHaltStep, ItemHaltStep>() .AddScoped <ITriggersHaltStep, TriggersHaltStep>(); }
public static IDiContainerBuilder AddDataSupport(this IDiContainerBuilder builder, Type repositoryType, Type repositoryWithKeyType) { builder.AddScoped <IRepositoryFactory, RepositoryFactory>(); builder.AddScoped(typeof(IRepository <,>), repositoryWithKeyType); builder.AddScoped(typeof(IRepository <>), repositoryType); return(builder); }
private static IDiContainerBuilder SetupTriggerSubSystem(this IDiContainerBuilder containerBuilder) { containerBuilder .AddScoped <ITriggerSubSystem, TriggerSubSystem>() .AddScoped <ITriggerRepository, TriggerRepository>(); return(containerBuilder); }
public static IDiContainerBuilder AddSingletonCollectionFor <TService>(this IDiContainerBuilder builder, bool withReflectionOnlyAssemblies) where TService : class { AddCollection(typeof(TService), types => builder.AddScopedCollection <TService>(types), withReflectionOnlyAssemblies); return(builder); }
private static IDiContainerBuilder SetupAssemblySubSystem(this IDiContainerBuilder containerBuilder) { containerBuilder .AddScoped <IAssemblyLoader, AssemblyLoader>() .AddScopedCollection <IAssemblyReferenceLoader>( typeof(FileAssemblyReferenceLoader)) .AddScoped <IAssemblySubSystem, AssemblySubSystem>(); return(containerBuilder); }
public static IDiContainerBuilder AddEfCoreSupport <TDbContext>(this IDiContainerBuilder builder) where TDbContext : DbContext { builder.AddDataSupport(typeof(EfCoreRepository <>), typeof(EfCoreRepository <,>)); builder.AddScoped <DbContext, TDbContext>(); builder.AddScoped <IEfCoreEntityModelBuilderSource, EfCoreEntityModelBuilderSource>(); return(builder); }
public static IDiContainerBuilder RegisterImplementations(this IDiContainerBuilder builder, IEnumerable <Assembly> assemblies) { var autoRegisterImplementations = new AutoRegisterImplementations(builder); assemblies.ForEach(assembly => autoRegisterImplementations.ForTypesInAssembly(assembly)); autoRegisterImplementations.Register(); return(builder); }
public static IDiContainerBuilder AddSqlServerDbContext <TDbContext>(this IDiContainerBuilder builder, string connectionString) where TDbContext : DbContext { builder.AddEfCoreSupport <TDbContext>(); builder.AddScoped <ISetting <SqlServerConnectionString> >(_ => new SqlServerConnectionStringSetting(connectionString)); return(builder); }
public static IDiContainerBuilder SetupDefaultInfrastructure(this IDiContainerBuilder builder) { builder.AddScoped <IWindowManager, WindowManager>(); builder.AddScoped <IViewLocator, ViewLocator>(); builder.AddScoped <IViewModelBinder, ViewModelBinder>(); builder.AddScoped <IViewModelToViewMappings, ViewModelToViewMappings>(); builder.AddScoped <IDataTemplateGenerator, DataTemplateGenerator>(); builder.AddScoped <IWindowHelper, WindowHelper>(); builder.AddScoped <IViewAttributeInitializer, ViewAttributeInitializer>(); return(builder); }
private static IDiContainerBuilder SetupItemSubSystem(this IDiContainerBuilder containerBuilder) { containerBuilder .AddScoped <IItemSubSystem, ItemSubSystem>() .AddScoped <IItemRepository, ItemRepository>() .AddScopedCollectionFor <IItemType>() .AddScoped <IItemTypeRegistrations, ItemTypeRegistrations>() .AddScoped <IItemBuilder, ItemBuilder>() .AddScoped <IItemBindingBuilder, ItemBindingBuilder>(); return(containerBuilder); }
public static void SetupForKernel(this IDiContainerBuilder containerBuilder) { containerBuilder .SetupBoot() .SetupAssemblySubSystem() .SetupDriversSubSystem() .SetupThingsSubSystem() .SetupItemSubSystem() .SetupScriptingSubSystem() .SetupTriggerSubSystem() .SetupHalt(); }
private static IDiContainerBuilder SetupThingsSubSystem(this IDiContainerBuilder containerBuilder) { containerBuilder .AddScoped <IThingSubSystem, ThingSubSystem>() .AddScoped <IGatewayRepository, GatewayRepository>() .AddScoped <IThingRepository, ThingRepository>() .AddScoped <IThingTemplateRepository, ThingTemplateRepository>() .AddScoped <IThingChannelRepository, ThingChannelRepository>() .AddScoped <IGatewayBuilder, GatewayBuilder>() .AddScoped <IThingBuilder, ThingBuilder>() .AddScoped <IThingChannelBuilder, ThingChannelBuilder>(); return(containerBuilder); }
private static IDiContainerBuilder SetupBoot(this IDiContainerBuilder containerBuilder) { containerBuilder .AddScoped <ISmartHalKernel, SmartHalKernel>() .AddScoped <IMessageHub, MessageHub>() .AddScoped <IKernelRequestDispatcher, KernelRequestDispatcher>() .AddScoped <IKernelBootProcess, KernelBootProcess>() .AddScoped <IAssemblyBootStep, AssemblyBootStep>() .AddScoped <IDriverBootStep, DriverBootStep>() .AddScoped <IThingsBootStep, ThingsBootStep>() .AddScoped <IItemBootStep, ItemBootStep>() .AddScoped <IScriptingBootStep, ScriptingBootStep>(); return(containerBuilder); }
private static IDiContainerBuilder SetupScriptingSubSystem(this IDiContainerBuilder containerBuilder) { containerBuilder .AddScoped <IScriptingSubSystem, ScriptingSubSystem>() .AddScoped <IScriptingCore, ScriptingCore>() .AddScoped <IActionScriptCore, ActionScriptCore>() .AddScoped <ICompilerFactory, RoslynCompilerFactory>() .AddScoped <CSharpScriptRuntime <ActionScriptImplementation> >() .AddScoped <ActionScriptImplementation>() .AddScoped <ActionScriptClassTemplate>() .AddTransient <IItemsScriptApi, ItemsScriptApi>() .AddTransient <ITriggerApi, TriggerApi>(); return(containerBuilder); }
public static IDiContainerBuilder AddNhibernateSupport(this IDiContainerBuilder builder, Action <Configuration> setupNhibernateConfiguration) { var configuration = new Configuration(); configuration.DataBaseIntegration(dbi => { dbi.ConnectionString = ""; dbi.Dialect <MsSql2008Dialect>(); dbi.Driver <Sql2008ClientDriver>(); }); setupNhibernateConfiguration(configuration); builder.AddScoped(_ => configuration.BuildSessionFactory()); return(builder); }
public static void Configure(this IDiContainerBuilder containerBuilder, IConfiguration configuration) { Ensure.IsNotNull(configuration, nameof(configuration)); containerBuilder.AddSingleton(typeof(ISettingFactory <>), typeof(SettingFactory <>)); containerBuilder.AddSingleton(typeof(ISettingsFactory <>), typeof(SettingsFactory <>)); containerBuilder.AddSingleton(typeof(ISetting <>), typeof(Setting <>)); containerBuilder.AddSingleton(typeof(ISettings <>), typeof(Settings <>)); containerBuilder.AddScoped(typeof(ISettingScoped <>), typeof(SettingScoped <>)); containerBuilder.AddScoped(typeof(ISettingsScoped <>), typeof(SettingsScoped <>)); containerBuilder.AddTransient(typeof(ISettingTransient <>), typeof(SettingTransient <>)); containerBuilder.AddTransient(typeof(ISettingsTransient <>), typeof(SettingsTransient <>)); containerBuilder.AddSingleton(_ => configuration); }
protected virtual void ConfigureDiContainer(IDiContainerBuilder containerBuilder) { }
protected override void ConfigureDiContainer(IDiContainerBuilder containerBuilder) { containerBuilder.SetupDefaultInfrastructure(); containerBuilder.AddTransient <IFileDialogService, Win32FileDialogService>(); }
public AutoRegisterImplementations(IDiContainerBuilder containerBuilder) { _containerBuilder = containerBuilder; _types = new List <Type>(); }
protected override void ConfigureDiContainer(IDiContainerBuilder containerBuilder) { containerBuilder.SetupDefaultInfrastructure(); containerBuilder.AddTransient <ExplorerTreeViewModel>(); }