Пример #1
0
        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));
        }
Пример #2
0
        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();
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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();
        }
Пример #7
0
        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);
        }
Пример #8
0
        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();
        }
Пример #9
0
 public ProcessorFacade(params byte[] data)
 {
     _bus       = new SimpleBus(data);
     _processor = new Processor(_bus);
 }