Ejemplo n.º 1
0
 private static void DIRegisterTransient(this ContainerBuilder builder)
 {
     builder.RegisterAssemblyTypes(KernelAssembly.GetAssemblies().ToArray())
     .Where(type =>
            type.GetInterfaces().Contains(typeof(ITransientDI))
            )
     .AsImplementedInterfaces()
     .InstancePerLifetimeScope();
 }
Ejemplo n.º 2
0
 public static void RegisterCache(this ContainerBuilder builder)
 {
     builder.RegisterAssemblyTypes(KernelAssembly.GetAssemblies().ToArray())
     .Where(type =>
            type.GetInterfaces().Contains(typeof(ICacheManager))
            )
     .AsImplementedInterfaces()
     .InstancePerLifetimeScope();
 }
Ejemplo n.º 3
0
        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);
            });
        }
Ejemplo n.º 4
0
        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);
            });
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
        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());
        }
Ejemplo n.º 7
0
        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);
        }