private static void DIRegisterTransient(this ContainerBuilder builder) { builder.RegisterAssemblyTypes(KernelAssembly.GetAssemblies().ToArray()) .Where(type => type.GetInterfaces().Contains(typeof(ITransientDI)) ) .AsImplementedInterfaces() .InstancePerLifetimeScope(); }
public static void RegisterCache(this ContainerBuilder builder) { builder.RegisterAssemblyTypes(KernelAssembly.GetAssemblies().ToArray()) .Where(type => type.GetInterfaces().Contains(typeof(ICacheManager)) ) .AsImplementedInterfaces() .InstancePerLifetimeScope(); }
public static void PostBuilder(this IApplicationBuilder app) { var modular = KernelAssembly.GetAssemblyType() .Where(module => module.BaseType != null ? module.BaseType.Equals(typeof(ModuleBase)) : false).Select(Activator.CreateInstance).Cast <ModuleBase>().ToList(); modular.ForEach(module => { module.PostInit(app); }); }
public static void PreBuild(this IServiceCollection services, IConfiguration Configuration) { var modular = KernelAssembly.GetAssemblyType() .Where(module => module.BaseType != null ? module.BaseType.Equals(typeof(ModuleBase)) : false).Select(Activator.CreateInstance).Cast <ModuleBase>().ToList(); modular.ForEach(module => { module.PreInit(services, Configuration); }); }
public static void RegisterDatabase(this ContainerBuilder builder) { /* * var bb = KernelAssembly.GetAssemblies().ToArray().SelectMany(x => x.GetTypes()).Where(x => x.GetInterfaces().Contains(typeof(IBBCContext))).ToList(); * foreach (var b in bb) * { * builder.Register(c => b).AsImplementedInterfaces().InstancePerLifetimeScope(); * }*/ builder.RegisterAssemblyTypes(KernelAssembly.GetAssemblies().ToArray()) .Where(type => type.GetInterfaces().Contains(typeof(IContext)) ).AsImplementedInterfaces() .InstancePerLifetimeScope(); }
public static IMapper Configure() { List <Type> profiles = KernelAssembly.GetAssemblies() .SelectMany(a => a.GetTypes()) .Where(t => t.GetInterfaces().Contains(typeof(IMapperBase))).ToList(); var mapperConfig = new MapperConfiguration(config => { config.AddMaps(KernelAssembly.GetAssemblies()); foreach (var profile in profiles) { config.AddProfile(profile); } }); return(mapperConfig.CreateMapper()); }
public void ConfigureServices(IServiceCollection services) { services.AddOptions(); //services.AddControllers(); var assemblies = new List <Assembly>(); Assembly current = this.GetType().Assembly; assemblies.Add(current); var references = current.GetReferencedAssemblies().Where(x => x.Name.Contains("BBC")); foreach (var reference in references) { assemblies.Add(Assembly.Load(reference)); } KernelAssembly.SetAssembly(assemblies); services.PreBuild(Configuration); }