public void Register(ContainerBuilder builder, ITypeFinder typeFinder, Core.Configuration.NopConfig config) { builder.RegisterType <GalleryService>().As <IGalleryService>().InstancePerHttpRequest(); Database.SetInitializer <GalleryObjectContext>(null); //data layer var dataSettingsManager = new DataSettingsManager(); var dataProviderSettings = dataSettingsManager.LoadSettings(); if (dataProviderSettings != null && dataProviderSettings.IsValid()) { //register named context builder.Register <IDbContext>(c => new GalleryObjectContext(dataProviderSettings.DataConnectionString)) .Named <IDbContext>("nop_object_context_gallery") .InstancePerHttpRequest(); builder.Register <GalleryObjectContext>(c => new GalleryObjectContext(dataProviderSettings.DataConnectionString)) .InstancePerHttpRequest(); } else { //register named context builder.Register <IDbContext>(c => new GalleryObjectContext(c.Resolve <DataSettings>().DataConnectionString)) .Named <IDbContext>("nop_object_context_gallery") .InstancePerHttpRequest(); builder.Register <GalleryObjectContext>(c => new GalleryObjectContext(c.Resolve <DataSettings>().DataConnectionString)) .InstancePerHttpRequest(); } //override required repository with our custom context builder.RegisterType <EfRepository <Galleries> >() .As <IRepository <Galleries> >() .WithParameter(ResolvedParameter.ForNamed <IDbContext>("nop_object_context_gallery")) .InstancePerHttpRequest(); builder.RegisterType <EfRepository <GalleryImages> >() .As <IRepository <GalleryImages> >() .WithParameter(ResolvedParameter.ForNamed <IDbContext>("nop_object_context_gallery")) .InstancePerHttpRequest(); }
public void Register(ContainerBuilder builder, Core.Infrastructure.ITypeFinder typeFinder, Core.Configuration.NopConfig config) { builder.RegisterType <TimelineWidgetLoaderService>().As <ITimelineWidgetLoaderService>().InstancePerRequest(); }