Пример #1
0
        public static void InjectAll(IUnityContainer container)
        {
            container.RegisterTypes(RepositoriesRegistraton.GetTypes(),
                                    WithMappings.FromAllInterfaces,
                                    WithName.Default);

            container.RegisterTypes(Services.Impl.Services.GetTypes(),
                                    WithMappings.FromAllInterfaces,
                                    WithName.Default);

            container.RegisterType <IExportDataService, ExportDataServiceImpl>();


            container.RegisterType <IEmailService, EmailServiceImpl>();


            container.RegisterType <IPluginFactory, PluginFactoryImpl>();

            container.RegisterType <IEmailSendingService, EmailSendingServiceImpl>();

            //TODO Automatically load all assemblies that start with JoinRpg.Experimental.Plugin.*
            container.RegisterTypes(
                AllClasses.FromLoadedAssemblies()
                .Where(type => typeof(IPlugin).IsAssignableFrom(type)),
                WithMappings.FromAllInterfaces,
                WithName.TypeName);

            container.RegisterTypes(Registration.GetTypes(),
                                    WithMappings.FromAllInterfaces,
                                    WithName.Default);
        }
Пример #2
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterTypes(RepositoriesRegistraton.GetTypes().ToArray()).AsImplementedInterfaces();
            builder.RegisterTypes(Services.Impl.Services.GetTypes().ToArray()).AsImplementedInterfaces();
            builder.RegisterTypes(WebPortal.Managers.Registration.GetTypes().ToArray()).AsSelf();

            builder.RegisterType <ExportDataServiceImpl>().As <IExportDataService>();
            builder.RegisterType <EmailServiceImpl>().As <IEmailService>();
            builder.RegisterType <EmailSendingServiceImpl>().As <IEmailSendingService>();

            builder.RegisterType <PluginFactoryImpl>().As <IPluginFactory>();

            builder.RegisterType <MyDbContext>().AsSelf().AsImplementedInterfaces().InstancePerDependency();

            base.Load(builder);
        }
        protected override void Load(ContainerBuilder builder)
        {
            _ = builder.RegisterTypes(RepositoriesRegistraton.GetTypes().ToArray()).AsImplementedInterfaces();
            _ = builder.RegisterTypes(Services.Impl.Services.GetTypes().ToArray()).AsImplementedInterfaces();
            _ = builder.RegisterTypes(WebPortal.Managers.Registration.GetTypes().ToArray()).AsSelf();

            _ = builder.RegisterType <ExportDataServiceImpl>().As <IExportDataService>();
            _ = builder.RegisterType <EmailServiceImpl>().As <IEmailService>();
            _ = builder.RegisterType <EmailSendingServiceImpl>().As <IEmailSendingService>();

            _ = builder.RegisterType <MyDbContext>()
                .AsSelf()
                .AsImplementedInterfaces()
                .InstancePerDependency()
                .UsingConstructor(typeof(IJoinDbContextConfiguration));

            _ = builder.RegisterType <VirtualUsersService>().As <IVirtualUsersService>().SingleInstance();

            _ = builder.RegisterType <PaymentsService>().As <IPaymentsService>();

            base.Load(builder);
        }