Example #1
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);

            var bus = new FakeBus();

            var storage = new EventStore(bus);
            var rep = new Repository<InventoryItem>(storage);
            var commands = new InventoryCommandHandlers(rep);
            bus.RegisterHandler<CheckInItemsToInventory>(commands.Handle);
            bus.RegisterHandler<CreateInventoryItem>(commands.Handle);
            bus.RegisterHandler<DeactivateInventoryItem>(commands.Handle);
            bus.RegisterHandler<RemoveItemsFromInventory>(commands.Handle);
            bus.RegisterHandler<RenameInventoryItem>(commands.Handle);
            var detail = new InvenotryItemDetailView();
            bus.RegisterHandler<InventoryItemCreated>(detail.Handle);
            bus.RegisterHandler<InventoryItemDeactivated>(detail.Handle);
            bus.RegisterHandler<InventoryItemRenamed>(detail.Handle);
            bus.RegisterHandler<ItemsCheckedInToInventory>(detail.Handle);
            bus.RegisterHandler<ItemsRemovedFromInventory>(detail.Handle);
            var list = new InventoryListView();
            bus.RegisterHandler<InventoryItemCreated>(list.Handle);
            bus.RegisterHandler<InventoryItemRenamed>(list.Handle);
            bus.RegisterHandler<InventoryItemDeactivated>(list.Handle);
            ServiceLocator.Bus = bus;
        }
Example #2
0
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);

            var bus = new FakeBus();

            var storage  = new EventStore(bus);
            var rep      = new Repository <InventoryItem>(storage);
            var commands = new InventoryCommandHandlers(rep);

            bus.RegisterHandler <CheckInItemsToInventory>(commands.Handle);
            bus.RegisterHandler <CreateInventoryItem>(commands.Handle);
            bus.RegisterHandler <DeactivateInventoryItem>(commands.Handle);
            bus.RegisterHandler <RemoveItemsFromInventory>(commands.Handle);
            bus.RegisterHandler <RenameInventoryItem>(commands.Handle);
            var detail = new InvenotryItemDetailView();

            bus.RegisterHandler <InventoryItemCreated>(detail.Handle);
            bus.RegisterHandler <InventoryItemDeactivated>(detail.Handle);
            bus.RegisterHandler <InventoryItemRenamed>(detail.Handle);
            bus.RegisterHandler <ItemsCheckedInToInventory>(detail.Handle);
            bus.RegisterHandler <ItemsRemovedFromInventory>(detail.Handle);
            var list = new InventoryListView();

            bus.RegisterHandler <InventoryItemCreated>(list.Handle);
            bus.RegisterHandler <InventoryItemRenamed>(list.Handle);
            bus.RegisterHandler <InventoryItemDeactivated>(list.Handle);
            ServiceLocator.Bus = bus;
        }
Example #3
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();

            var bus      = new FakeBus();
            var storage  = new EventStore(bus);
            var rep      = new Repository <InventoryItem>(storage);
            var commands = new InventoryCommandHandlers(rep);

            bus.RegisterHandler <CheckInItemsToInventory>(commands.Handle);
            bus.RegisterHandler <CreateInventoryItem>(commands.Handle);
            bus.RegisterHandler <DeactivateInventoryItem>(commands.Handle);
            bus.RegisterHandler <RemoveItemsFromInventory>(commands.Handle);
            bus.RegisterHandler <RenameInventoryItem>(commands.Handle);
            var detail = new InventoryItemDetailView();

            bus.RegisterHandler <InventoryItemCreated>(detail.Handle);
            bus.RegisterHandler <InventoryItemDeactivated>(detail.Handle);
            bus.RegisterHandler <InventoryItemRenamed>(detail.Handle);
            bus.RegisterHandler <ItemsCheckedInToInventory>(detail.Handle);
            bus.RegisterHandler <ItemsRemovedFromInventory>(detail.Handle);
            var list = new InventoryListView();

            bus.RegisterHandler <InventoryItemCreated>(list.Handle);
            bus.RegisterHandler <InventoryItemRenamed>(list.Handle);
            bus.RegisterHandler <InventoryItemDeactivated>(list.Handle);
            ServiceLocator.Bus = bus;
        }
Example #4
0
        public ServiceLocator()
        {
            Bus = new FakeBus();
            var storage  = new EventStore(Bus);
            var rep      = new Repository <InventoryItem>(storage);
            var commands = new InventoryCommandHandlers(rep);

            Bus.RegisterHandler <CheckInItemsToInventory>(commands.Handle);
            Bus.RegisterHandler <CreateInventoryItem>(commands.Handle);
            Bus.RegisterHandler <DeactivateInventoryItem>(commands.Handle);
            Bus.RegisterHandler <RemoveItemsFromInventory>(commands.Handle);
            Bus.RegisterHandler <RenameInventoryItem>(commands.Handle);
            var detail = new InventoryItemDetailView();

            Bus.RegisterHandler <InventoryItemCreated>(detail.Handle);
            Bus.RegisterHandler <InventoryItemDeactivated>(detail.Handle);
            Bus.RegisterHandler <InventoryItemRenamed>(detail.Handle);
            Bus.RegisterHandler <ItemsCheckedInToInventory>(detail.Handle);
            Bus.RegisterHandler <ItemsRemovedFromInventory>(detail.Handle);
            var list = new InventoryListView();

            Bus.RegisterHandler <InventoryItemCreated>(list.Handle);
            Bus.RegisterHandler <InventoryItemRenamed>(list.Handle);
            Bus.RegisterHandler <InventoryItemDeactivated>(list.Handle);
        }
Example #5
0
        private static void RegisterCommandHandlers(FakeBus bus)
        {
            var storage    = new EventStore(bus);
            var repository = new Repository <InventoryItem>(storage);
            var commands   = new InventoryCommandHandlers(repository);

            bus.RegisterHandler <CheckInItemsToInventoryCommand>(commands.Handle);
            bus.RegisterHandler <CreateInventoryItemCommand>(commands.Handle);
            bus.RegisterHandler <DeactivateInventoryItemCommand>(commands.Handle);
            bus.RegisterHandler <RemoveItemsFromInventoryCommand>(commands.Handle);
            bus.RegisterHandler <RenameInventoryItemCommand>(commands.Handle);
        }
Example #6
0
        public void ComposeHandlers()
        {
            //Create our event store
            var storage = new EventStore(Mediator, EventStorage);

            // Create write repository and command handlers
            var rep      = new WriteRepository <InventoryItem>(storage);
            var commands = new InventoryCommandHandlers(rep);

            Mediator.RegisterHandler <CheckInItemsToInventory>(commands.Handle);
            Mediator.RegisterHandler <CreateInventoryItem>(commands.Handle);
            Mediator.RegisterHandler <DeactivateInventoryItem>(commands.Handle);
            Mediator.RegisterHandler <RemoveItemsFromInventory>(commands.Handle);
            Mediator.RegisterHandler <RenameInventoryItem>(commands.Handle);
        }
Example #7
0
        public static void Wire()
        {
            var bus = new MiniVan();

            var storage  = new RestStore();
            var rep      = new Repository <InventoryItem>(storage);
            var commands = new InventoryCommandHandlers(rep);

            bus.RegisterHandler <CheckInItemsToInventory>(commands.Handle);
            bus.RegisterHandler <CreateInventoryItem>(commands.Handle);
            bus.RegisterHandler <DeactivateInventoryItem>(commands.Handle);
            bus.RegisterHandler <RemoveItemsFromInventory>(commands.Handle);
            bus.RegisterHandler <RenameInventoryItem>(commands.Handle);
            ServiceLocator.Bus = bus;
        }
        public when_an_event_is_received()
        {
            Bus = new InMemoryMessageBus();

            var config          = Bus.Configuration;
            var persistence     = new InMemoryPersistence(config.MessageSender, config.Sagas.Storage);
            var repository      = new Repository <InventoryItem>(new InMemoryEventStore <Guid>(persistence));
            var commandHandlers = new InventoryCommandHandlers(repository);
            var projector       = new Projector();

            config.CommandHandlers.Register <CreateInventoryItem>(() => commandHandlers);
            config.CommandHandlers.Register <RenameInventoryItem>(() => commandHandlers);
            config.CommandHandlers.Register <DeactivateInventoryItem>(() => commandHandlers);
            config.EventReceivers.Register <InventoryItemCreated>(() => projector);
            config.EventReceivers.Register <InventoryItemRenamed>(() => projector);
            config.EventReceivers.Register <InventoryItemDeactivated>(() => projector);
            Products = projector.Products;
            Bus.Start();
        }
        public void BootStrapTheApplication()
        {
            EventStoreDatabaseBootStrapper.BootStrap();
            ReportingDatabaseBootStrapper.BootStrap();

            var bus = new FakeBus();
            ServiceLocator.Bus = bus;
            //var storage = new InMemoryEventStore(bus);
            //var storage = new NHibernateSqliteEventStore(bus, NHibernateSessionHelper.CreateSessionFactory(), new BinaryFormatter());
            var storage = new SqliteEventStore(bus, new BinaryFormatter(), "Data Source=eventStore.db3");

            var rep = new DomainRepository<InventoryItem>(storage);
            var commands = new InventoryCommandHandlers(rep);
            bus.RegisterHandler<CheckInItemsToInventory>(commands.Handle);
            bus.RegisterHandler<CreateInventoryItem>(commands.Handle);
            bus.RegisterHandler<DeactivateInventoryItem>(commands.Handle);
            bus.RegisterHandler<RemoveItemsFromInventory>(commands.Handle);
            bus.RegisterHandler<RenameInventoryItem>(commands.Handle);

            var sqlInsertBuilder = new SqlInsertBuilder();
            var sqlSelectBuilder = new SqlSelectBuilder();
            var sqlUpdateBuilder = new SqlUpdateBuilder();
            var sqlDeleteBuilder = new SqlDeleteBuilder();
            var reportingRepository = new SQLiteReportingRepository("Data Source=reportingDataBase.db3", sqlSelectBuilder,
                                                                    sqlInsertBuilder, sqlUpdateBuilder, sqlDeleteBuilder);
            var detail = new InventoryItemDetailViewHandler(reportingRepository);
            ServiceLocator.ReportingRepository = reportingRepository;
            bus.RegisterHandler<InventoryItemCreated>(detail.Handle);
            bus.RegisterHandler<InventoryItemDeactivated>(detail.Handle);
            bus.RegisterHandler<InventoryItemRenamed>(detail.Handle);
            bus.RegisterHandler<ItemsCheckedInToInventory>(detail.Handle);
            bus.RegisterHandler<ItemsRemovedFromInventory>(detail.Handle);
            var list = new InventoryItemListViewHandler(reportingRepository);
            bus.RegisterHandler<InventoryItemCreated>(list.Handle);
            bus.RegisterHandler<InventoryItemRenamed>(list.Handle);
            bus.RegisterHandler<InventoryItemDeactivated>(list.Handle);
        }