Exemple #1
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterType <BlBook>().As <IBlBook>().InstancePerLifetimeScope();

            builder.RegisterType <EfBook>().As <IEfBook>();

            builder.RegisterType <SampleContext>().AsSelf().WithParameter("options", DbContextOptionsFactory.Get());
        }
Exemple #2
0
        internal static ContainerBuilder AddPostgresDataProvider(this ContainerBuilder builder)
        {
            builder.RegisterType <PaymentGatewayContext>()
            .WithParameter("options", DbContextOptionsFactory.Get())
            .InstancePerLifetimeScope()
            .As <PaymentGatewayContext>();

            return(builder);
        }
Exemple #3
0
 private DbContextOptions <CurrencyContext> ConfigureCurrencyDbContext(IComponentContext context)
 => DbContextOptionsFactory.Get(context);
Exemple #4
0
        public void ConfigureContainer(ContainerBuilder builder)
        {
            builder.Register(ctx => new MapperConfiguration(cfg => cfg.AddProfile(typeof(AutoMapperProfile))));
            builder.Register(ctx => ctx.Resolve <MapperConfiguration>().CreateMapper()).As <IMapper>();

            builder.Register <ILogger>((c, p) =>
            {
                return(new LoggerConfiguration()
                       .ReadFrom.Configuration(Configuration)
                       .Enrich.FromLogContext()
                       .WriteTo.Console()
                       .WriteTo.File($"/logs/log-.log", rollingInterval: RollingInterval.Day)
                       .CreateLogger());
            }).SingleInstance();

            builder.Register(c => Configuration)
            .As <IConfigurationRoot>()
            .SingleInstance();

            builder.RegisterType <AppSettings>()
            .SingleInstance();

            builder.RegisterType <HttpContextAccessor>()
            .As <IHttpContextAccessor>()
            .SingleInstance();

            builder.RegisterType <ActionContextAccessor>()
            .As <IActionContextAccessor>()
            .SingleInstance();

            builder.RegisterType <UrlHelperFactory>()
            .AsImplementedInterfaces()
            .InstancePerLifetimeScope();

            builder.RegisterType <ClientDbContext>()
            .WithParameter("options", DbContextOptionsFactory.Get())
            .WithParameter("config", Configuration)
            .InstancePerLifetimeScope();

            builder.RegisterType <ChatHub>()
            .ExternallyOwned()
            .SingleInstance();

            //builder.RegisterType<CustomUserIdProvider>()
            //    .As<IUserIdProvider>()
            //    .SingleInstance();

            builder.RegisterType <UserContext>()
            .InstancePerLifetimeScope();

            builder.RegisterType <EmailBuilder>()
            .PropertiesAutowired()
            .InstancePerLifetimeScope();

            builder.RegisterType <EmailService>()
            .AsImplementedInterfaces()
            .PropertiesAutowired()
            .InstancePerLifetimeScope();

            builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(BaseRepository)))
            .Where(t => t.IsSubclassOf(typeof(BaseRepository)))
            .PropertiesAutowired()
            .AsImplementedInterfaces()
            .InstancePerLifetimeScope();

            builder.RegisterAssemblyTypes(Assembly.GetAssembly(typeof(BaseService)))
            .Where(t => t.IsSubclassOf(typeof(BaseService)))
            .PropertiesAutowired()
            .AsImplementedInterfaces()
            .InstancePerLifetimeScope();
        }