public static void AppInit_Repositories_SnapshotDomainRepository_MSMQ(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<IEventBus, MSMQEventBus>(new ContainerControlledLifetimeManager(), new InjectionConstructor(Helper.CreateMessageQueueName(EventBus_MessageQueue), false)) .RegisterType<IStorageMappingResolver, XmlStorageMappingResolver>(new InjectionConstructor("SnapshotDomainRepository_StorageMappings.xml")) .RegisterType<IStorage, SqlStorage>(new InjectionConstructor(CQRSTestDB_SQLExpress_ConnectionString, new ResolvedParameter<IStorageMappingResolver>())) .RegisterType<IDomainRepository, SnapshotDomainRepository>(new InjectionConstructor(new ResolvedParameter<IStorage>(), new ResolvedParameter<IEventBus>())); }
public static void AppInit_Repositories_SnapshotDomainRepository_SaveButFailPubToMSMQ(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<IMessageDispatcher, MessageDispatcher>() .RegisterType<IEventBus, MSMQEventBus>(new ContainerControlledLifetimeManager(), new InjectionConstructor(EventBus_MessageQueue, false)) // register an invalid queue here .RegisterType<IStorageMappingResolver, XmlStorageMappingResolver>(new InjectionConstructor("SnapshotDomainRepository_StorageMappings.xml")) .RegisterType<IStorage, SqlStorage>(new InjectionConstructor(CQRSTestDB_SQLExpress_ConnectionString, new ResolvedParameter<IStorageMappingResolver>())) .RegisterType<IDomainRepository, SnapshotDomainRepository>(new InjectionConstructor(new ResolvedParameter<IStorage>(), new ResolvedParameter<IEventBus>())); }
public static void AppInit_Repositories_NHibernateRepository(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); NHibernate.Cfg.Configuration nhibernateCfg = new NHibernate.Cfg.Configuration(); nhibernateCfg.Properties["connection.driver_class"] = "NHibernate.Driver.SqlClientDriver"; nhibernateCfg.Properties["connection.provider"] = "NHibernate.Connection.DriverConnectionProvider"; nhibernateCfg.Properties["connection.connection_string"] = ClassicTestDB_SQLExpress_ConnectionString; nhibernateCfg.Properties["dialect"] = "NHibernate.Dialect.MsSql2008Dialect"; nhibernateCfg.Properties["proxyfactory.factory_class"] = "NHibernate.Bytecode.DefaultProxyFactoryFactory, NHibernate"; //nhibernateCfg.Properties["linqtohql.generatorsregistry"] ="Apworks.Repositories.NHibernate.ExtendedLinqToHqlGeneratorsRegistry, Apworks.Repositories.NHibernate"; nhibernateCfg.AddAssembly(typeof(Customer).Assembly); c.RegisterInstance<NHibernate.Cfg.Configuration>(nhibernateCfg) .RegisterType<IRepositoryContext, NHibernateContext>(new InjectionConstructor(new ResolvedParameter<NHibernate.Cfg.Configuration>())) //.RegisterType<IRepository<Customer>, NHibernateRepository<Customer>>(new InjectionConstructor(new ResolvedParameter<IRepositoryContext>())); .RegisterType<IRepository<Customer>, NHibernateRepository<Customer>>(); }
public static void AppInit_Repositories_RegularEventPublisherDomainRepository_MSMQ(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); NHibernate.Cfg.Configuration nhibernateCfg = new NHibernate.Cfg.Configuration(); nhibernateCfg.Properties["connection.driver_class"] = "NHibernate.Driver.SqlClientDriver"; nhibernateCfg.Properties["connection.provider"] = "NHibernate.Connection.DriverConnectionProvider"; nhibernateCfg.Properties["connection.connection_string"] = CQRSTestDB_SQLExpress_ConnectionString; nhibernateCfg.Properties["dialect"] = "NHibernate.Dialect.MsSql2008Dialect"; nhibernateCfg.Properties["proxyfactory.factory_class"] = "NHibernate.Bytecode.DefaultProxyFactoryFactory, NHibernate"; //nhibernateCfg.Properties["linqtohql.generatorsregistry"] = "Apworks.Repositories.NHibernate.ExtendedLinqToHqlGeneratorsRegistry, Apworks.Repositories.NHibernate"; nhibernateCfg.AddAssembly(typeof(SourcedCustomer).Assembly); c.RegisterInstance<NHibernate.Cfg.Configuration>(nhibernateCfg) .RegisterType<IEventBus, MSMQEventBus>(new ContainerControlledLifetimeManager(), new InjectionConstructor(Helper.CreateMessageQueueName(EventBus_MessageQueue), true)) .RegisterType<IRepositoryContext, NHibernateContext>(new InjectionConstructor(new ResolvedParameter<NHibernate.Cfg.Configuration>())) .RegisterType<IRepository<SourcedCustomer>, NHibernateRepository<SourcedCustomer>>() .RegisterType<IDomainRepository, RegularEventPublisherDomainRepository>(new InjectionConstructor(new ResolvedParameter<IRepositoryContext>(), new ResolvedParameter<IEventBus>())); }
public static void AppInit_Repositories_EventSourcedDomainRepositoryWithDirectEventBusButWithoutSnapshotProvider(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<IMessageDispatcher, MessageDispatcher>() .RegisterType<IEventBus, DirectEventBus>(new ContainerControlledLifetimeManager(), new InjectionConstructor(new ResolvedParameter<IMessageDispatcher>())) .RegisterType<IStorageMappingResolver, XmlStorageMappingResolver>(new InjectionConstructor("EventSourcedRepository_StorageMappings.xml")) .RegisterType<IDomainEventStorage, SqlDomainEventStorage>(new InjectionConstructor(CQRSTestDB_SQLExpress_ConnectionString, new ResolvedParameter<IStorageMappingResolver>())) .RegisterType<ISnapshotProvider, SuppressedSnapshotProvider>() .RegisterType<IDomainRepository, EventSourcedDomainRepository>(new InjectionConstructor(new ResolvedParameter<IDomainEventStorage>(), new ResolvedParameter<IEventBus>(), new ResolvedParameter<ISnapshotProvider>())); }
public static void AppInit_Repositories_EventSourcedDomainRepositoryWithMSMQBusAndSnapshotProvider(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<IStorageMappingResolver, XmlStorageMappingResolver>(new InjectionConstructor("EventSourcedRepository_StorageMappings.xml")) .RegisterType<IStorage, SqlStorage>("eventStore", new InjectionConstructor(CQRSTestDB_SQLExpress_ConnectionString, new ResolvedParameter<IStorageMappingResolver>())) .RegisterType<IStorage, SqlStorage>("snapshotStore", new InjectionConstructor(CQRSTestDB_SQLExpress_ConnectionString, new ResolvedParameter<IStorageMappingResolver>())) .RegisterType<IEventBus, MSMQEventBus>(new ContainerControlledLifetimeManager(), new InjectionConstructor(Helper.CreateMessageQueueName(EventBus_MessageQueue), true)) .RegisterType<IDomainEventStorage, SqlDomainEventStorage>(new InjectionConstructor(CQRSTestDB_SQLExpress_ConnectionString, new ResolvedParameter<IStorageMappingResolver>())) .RegisterType<ISnapshotProvider, EventNumberSnapshotProvider>(new InjectionConstructor(new ResolvedParameter<IStorage>("eventStore"), new ResolvedParameter<IStorage>("snapshotStore"), new InjectionParameter<SnapshotProviderOption>(SnapshotProviderOption.Immediate), new InjectionParameter<int>(5))) .RegisterType<IDomainRepository, EventSourcedDomainRepository>(new InjectionConstructor(new ResolvedParameter<IDomainEventStorage>(), new ResolvedParameter<IEventBus>(), new ResolvedParameter<ISnapshotProvider>())); }
public static void AppInit_MongoDBRepository(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<IMongoDBRepositoryContextSettings, MongoDBRepositoryContextSettings>(new ContainerControlledLifetimeManager()) .RegisterType<IRepositoryContext, MongoDBRepositoryContext>() .RegisterType<IRepository<Customer>, MongoDBRepository<Customer>>(); MongoDBRepositoryContext.RegisterConventions(); }
public static void AppInit_MessageDispatcher(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<IMessageDispatcher, Apworks.Bus.MessageDispatcher>(); }
public static void AppInit_ExceptionHandling_InvalidStorage(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<IStorageMappingResolver, XmlStorageMappingResolver>(new InjectionConstructor("ExceptionHandlingInvalidStorage.xml")) .RegisterType<IStorage, SqlStorage>(new InjectionConstructor(CQRSTestDB_SQLExpress_ConnectionString, new ResolvedParameter<IStorageMappingResolver>())); }
public static void AppInit_EventStore_SqlExpress(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<IStorageMappingResolver, XmlStorageMappingResolver>("DomainEventStorageMappingResolver", new InjectionConstructor("StorageMappings.xml")) .RegisterType<IDomainEventStorage, SqlDomainEventStorage>(new InjectionConstructor(CQRSTestDB_SQLExpress_ConnectionString, new ResolvedParameter<IStorageMappingResolver>("DomainEventStorageMappingResolver"))); }
public static void AppInit_EFRepository(object sender, AppInitEventArgs e) { UnityContainer c = e.ObjectContainer.GetWrappedContainer<UnityContainer>(); c.RegisterType<DbContext, EFTestContext>() .RegisterType<IRepositoryContext, EntityFrameworkRepositoryContext>() .RegisterType<IRepository<EFCustomer>, EntityFrameworkRepository<EFCustomer>>() .RegisterType<IRepository<EFCustomerNote>, EntityFrameworkRepository<EFCustomerNote>>(); }