예제 #1
0
        public void DeliverCommand <TCommand>(TCommand command) where TCommand : ICommand
        {
            DomainEvents.Register((DraftCreatedEvent it) => eventStore.Add(it.EntityId, it));
            DomainEvents.Register(
                (IDomainEvent it) => { if (!(it is DraftCreatedEvent))
                                       {
                                           eventStore.Add(command.OrganizationId, it);
                                       }
                });
            var handler = kernel.Get <IHandleCommand <TCommand> >(new Parameter("OrganizationId", command.OrganizationId, true));

            handler.Handle(command);
            DomainEvents.ClearCallbacks();
        }
예제 #2
0
        public void Before()
        {
            kernel = new StandardKernel(new Module());

            eventStore = kernel.Get <EventStore>();
            eventStore.Add(mainOrganizationId, new DraftCreatedEvent(mainOrganizationId, null));

            bus = kernel.Get <CommandBus>();
        }