private static CqrsEngineHost ConfigureHost() { var builder = new CqrsEngineBuilder(); builder.Domain(d => { d.InAssemblyOf<CreateInventoryItem>(); d.HandlerSample<IConsume<Define.Command>>(m => m.Consume(null)); }); builder.File(f => { f.AddFileSender(storageConfig, "events"); f.AddFileProcess(storageConfig, "commands", p => { p.WhereFilter(x => x.WhereMessagesAre<Define.Command>()); p.DispatchAsCommandBatch(); }); f.AddFileProcess(storageConfig, "events", p=> { p.WhereFilter(x => x.WhereMessagesAre<DomainEvent>()); p.DispatchAsEvents(); }); }); builder.Storage(s => { s.TapeIsInFiles(Path.Combine(storageConfig.Folder.FullName, "eventstore")); s.AtomicIsInFiles(storageConfig.Folder.FullName, b => { b.WhereEntityIs<IEntity>(); b.WhereSingletonIs<ISingleton>(); }); s.StreamingIsInFiles(storageConfig.Folder.FullName); }); builder.Advanced.ConfigureContainer(c => { c.RegisterType<ReadModelFacade>().As<IReadModelFacade>(); c.RegisterType<Repository<InventoryItem>>().As<IRepository<InventoryItem>>(); c.RegisterType<EventStore>().As<IEventStore>(); }); return builder.Build(); }