private void RegisterMongoDB(ContainerBuilder builder, IDependencyRegistrarContext context) { builder.RegisterType <LocalConfigurationProvider>().As <IConfigurationProvider>(); builder.RegisterType <MongoDbConfiguration>().As <IMongoDbConfiguration>(); builder.RegisterType <MongoDatabaseProvider>().As <IMongoDatabaseProvider>(); builder.RegisterGeneric(typeof(MongoDbRepositoryBase <>)).As(typeof(IRepository <>)).InstancePerLifetimeScope(); }
public void Register(ContainerBuilder builder, IDependencyRegistrarContext context) { RegisterMongoDB(builder, context); RegisterAutomapper(builder, context); builder.RegisterType <MemoryCacheManager>().As <ICacheManager>(); }
public void Register(ContainerBuilder containerBuilder, IDependencyRegistrarContext context) { // articles containerBuilder.RegisterType <ArticleQueryHandler>().As <IQueryHandler <GetArticleQuery, ArticleDto> >(); containerBuilder.RegisterType <ArticleQueryHandler>().As <IQueryHandler <ListArticlesQuery, PagedList <ArticleOverviewDto> > >(); // categories containerBuilder.RegisterType <CategoriesQueryHandler>().As <IQueryHandler <ListCategoriesQuery, PagedList <CategoryOverviewDto> > >(); containerBuilder.RegisterType <CategoriesQueryHandler>().As <IQueryHandler <GetCategoryQuery, CategoryDto> >(); containerBuilder.RegisterType <CategoriesQueryHandler>().As <IQueryHandler <GetCategoriesTreeQuery, IEnumerable <CategoriesTreeNode> > >(); containerBuilder.RegisterType <AritclesMapperRegistrar>(); containerBuilder.RegisterType <CategoriesMapperRegistrar>(); }
private static void InitConfiguartion(ContainerBuilder builder, IDependencyRegistrarContext context) { // Config connection string builder.Register <MongoDbConfiguration>(c => { var configurationProvice = c.Resolve <IConfigurationProvider>(); var mongoConfiguration = configurationProvice.GetConfiguration <MongoDBConfig>(); return(new MongoDbConfiguration { ConnectionString = mongoConfiguration.ConnectionString, DatabaseName = mongoConfiguration.DatabaseName }); }).As <IMongoDbConfiguration>(); }
public void Register(ContainerBuilder builder, IDependencyRegistrarContext context) { #region Articles builder.RegisterType <ArticleCommandHandler>().As <ICommandHandler <CreateArticleCommand> >(); builder.RegisterType <ArticleCommandHandler>().As <ICommandHandler <UpdateArticleCommand> >(); builder.RegisterType <AritclesMapperRegistrar>(); #endregion #region Category builder.RegisterType <CategoriesCommandHandler>().As <ICommandHandler <CreateCategoryCommand> >() .As <ICommandHandler <UpdateCategoryCommand> >(); builder.RegisterType <CategoriesMapperRegistrar>(); #endregion builder.RegisterType <SharedMapperRegistrar>(); }
public void Initialize(Action <ContainerBuilder, IDependencyRegistrarContext> buildAction = null) { if (!_isInitialized) { ContainerBuilder builder = new ContainerBuilder(); _registrarContext = new DependencyRegistrarContext(this); builder.Register(component => this).As <IIocManager>().SingleInstance(); builder.RegisterInstance(_registrarContext).As <IDependencyRegistrarContext>(); builder.RegisterInstance(_typeFinder).As <ITypeFinder>(); IocContainer = builder.Build(); // Get all registrars RegisterDependencies(); builder = new ContainerBuilder(); buildAction?.Invoke(builder, _registrarContext); builder.Update(IocContainer); _isInitialized = true; } }
private void RegisterAutomapper(ContainerBuilder builder, IDependencyRegistrarContext context) { var container = context.IocManager.IocContainer; var mapperRegistrarTypes = _typeFinder.FindClassesOfType <IAutoMapperRegistrar>(true); Mapper.Initialize(cfg => { using (var scope = container.BeginLifetimeScope()) { foreach (var type in mapperRegistrarTypes) { object registrar = null; if (container.TryResolve(type, out registrar)) { ((IAutoMapperRegistrar)registrar).Register(cfg); } } } }); // After create map builder.RegisterInstance(Mapper.Instance).As <IMapper>().SingleInstance(); }
public void Register(ContainerBuilder builder, IDependencyRegistrarContext context) { builder.RegisterApiControllers(Assembly.GetExecutingAssembly()); builder.RegisterType <WebApiAutoMapperRegistrar>(); }
private void RegisterDependencies(ContainerBuilder builder, IDependencyRegistrarContext context) { builder.RegisterType <LocalConfigurationProvider>().As <IConfigurationProvider>(); builder.RegisterType <MemoryCacheManager>().As <ICacheManager>(); }
public void Register(ContainerBuilder containerBuilder, IDependencyRegistrarContext context) { containerBuilder.RegisterType <InMemoryQueryBus>().As <IQueryBus>(); containerBuilder.RegisterType <InMemoryCommandBus>().As <ICommandBus>(); containerBuilder.RegisterType <InMemoryEventBus>().As <IEventBus>(); }