protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); var documentStore = new DocumentStore { Url = "http://localhost:8080/databases/CQRSSimpleExample" }; documentStore.Initialize(); IndexCreation.CreateIndexes(typeof(UserByName).Assembly, documentStore); var builder = new ContainerBuilder(); builder.RegisterInstance(documentStore).As<IDocumentStore>(); //builder.RegisterType<UserHandler>().AsSelf(); builder.RegisterGeneric(typeof (Repository<>)).As(typeof (IRepository<>)); builder.RegisterType<UserQueries>().AsSelf(); builder.Register(t => documentStore.OpenSession()).As<IDocumentSession>(); builder.RegisterControllers(Assembly.GetExecutingAssembly()); var container = builder.Build(); var bus = new SimpleBus(container.Resolve); builder = new ContainerBuilder(); builder.RegisterInstance(bus).AsImplementedInterfaces(); builder.Update(container); DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); }
public static void ConfigureApp(RegistrationApp app, string eventNamespace, string eventAssembly) { var settings = ConnectionSettings.Create() .SetDefaultUserCredentials(new UserCredentials("admin", "changeit")) .KeepReconnecting() .KeepRetrying() //.UseConsoleLogger() .Build(); var conn = EventStoreConnection.Create(settings, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1113)); conn.ConnectAsync().Wait(); var repo = new SimpleRepo(conn, eventNamespace, eventAssembly); var userRm = new RegisteredUsers(() => conn, repo.Deserialize); var mainBus = new SimpleBus(); var userSvc = new UserSvc(repo); mainBus.Subscribe <RegisterUser>(userSvc); mainBus.Subscribe <ChangeName>(userSvc); //application wire up //app.CommandPublisher = mainBus; //userRm.Subscribe(app.DisplayUsers); //start userRm.Start(); }
public Program() { _bus = new SimpleBus(); // _configuration = SqlLiteDatabase(); _configuration = SqlServerDatabase(); _eventSerializer = new JsonEventSerializer(); var query = new CustomerQuery(_configuration, _eventSerializer); _customerService = new CustomerService(_bus, query, SqliteSubscriber(_configuration)); _bus.Register(new CustomerReadModelEventSubscriber(_configuration)); }
public void GivenSubscriber_WhenPost_ShouldSendEventToSubscriber() { var @event = new TestEvent("One"); var subscriber = new TestEventSubscriber(); var bus = new SimpleBus(); bus.Register(subscriber); bus.Post(@event); Assert.Single(subscriber.Events); }
public void GivenMultipleSubscribers_WhenPost_ShouldSentEventToAllSubscribers() { var @event = new TestEvent("One"); var subscriber1 = new TestEventSubscriber(); var subscriber2 = new TestEventSubscriber(); var bus = new SimpleBus(); bus.Register(subscriber1) .Register(subscriber2); bus.Post(@event); Assert.Single(subscriber1.Events); Assert.Single(subscriber2.Events); }
static void Main(string[] args) { //Bootstrap var settings = ConnectionSettings.Create() .SetDefaultUserCredentials(new UserCredentials("admin", "changeit")) .KeepReconnecting() .KeepRetrying() //.UseConsoleLogger() .Build(); var conn = EventStoreConnection.Create(settings, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1113)); conn.ConnectAsync().Wait(); var eventNamespace = "Registration.Blueprint.Events"; var eventAssembly = "Registration"; var repo = new SimpleRepo(conn, eventNamespace, eventAssembly); var roomRm = new RoomsReader(() => conn, repo.Deserialize); var mainBus = new SimpleBus(); var roomSvc = new RoomSvc(repo); mainBus.Subscribe <AddRoom>(roomSvc); var view = new ConsoleView(); var controller = new Controller(view, mainBus); var database = new DataBase(); var eventDispatch = new EventDispatcher(database); var app = new RegistrationApp(); app.GenerateData(eventDispatch); // roomRm.Subscribe( model => view.HistorySummaries = model); roomRm.Start(); controller.StartCommandLoop(); Console.WriteLine("press enter to exit"); Console.ReadLine(); }
public void GivenSubscriber_WhenUnregister_ShouldNoLongerReceiveEvents() { var @event = new TestEvent("One"); var subscriber = new TestEventSubscriber(); var bus = new SimpleBus(); bus.Register(subscriber); bus.Post(@event); Assert.Single(subscriber.Events); bus.Unregister(subscriber); bus.Post(@event); Assert.Single(subscriber.Events); }
static void Main(string[] args) { //Bootstrap var settings = ConnectionSettings.Create() .SetDefaultUserCredentials(new UserCredentials("admin", "changeit")) .KeepReconnecting() .KeepRetrying() //.UseConsoleLogger() .Build(); var conn = EventStoreConnection.Create(settings, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1113)); conn.ConnectAsync().Wait(); var eventNamespace = "Administration.EventModel.Events"; var eventAssembly = "Administration"; var repo = new SimpleRepo(conn, eventNamespace, eventAssembly); var roomTypeRm = new RoomTypeReader(() => conn, repo.Deserialize); var mainBus = new SimpleBus(); var adminSvc = new AdminSvc(repo); mainBus.Subscribe <AddRoomType>(adminSvc); mainBus.Subscribe <AddRoom>(adminSvc); var view = new ConsoleView(); var controller = new Controller(view, mainBus); roomTypeRm.Subscribe(model => view.RoomSummaries = model); view.Redraw(); roomTypeRm.Start(); controller.StartCommandLoop(); Console.WriteLine("press enter to exit"); Console.ReadLine(); }
public ProcessorFacade(params byte[] data) { _bus = new SimpleBus(data); _processor = new Processor(_bus); }