コード例 #1
0
 public void SetUp()
 {
     SetUpEventStore();
     _eventApplier            = Substitute.For <IEventApplier>();
     _commandHandlerFactory   = new CommandHandlerFactory(_eventRepository, _eventApplier);
     _markDrinksServedCommand = GetMarkDrinksServedCommand();
 }
コード例 #2
0
ファイル: AggregateRoot.cs プロジェクト: acesyde/EventFlow
        protected void Register(IEventApplier <TAggregate, TIdentity> eventApplier)
        {
            if (eventApplier == null)
            {
                throw new ArgumentNullException(nameof(eventApplier));
            }

            _eventAppliers.Add(eventApplier);
        }
コード例 #3
0
ファイル: AggregateRoot.cs プロジェクト: ArienHartgers/DDD
        // push atomic aggregate changes to local history for further processing (EventStore.SaveEvents)
        private void ApplyChange(LoadedEvent @event, bool isNew)
        {
            IEventApplier applier = this;

            applier.ProcessMessage(@event);
            if (isNew)
            {
                _changes.Add(@event);
            }
        }
コード例 #4
0
ファイル: CqrsRuntime.cs プロジェクト: girish66/LiteCQRS
        public CqrsRuntime(ICommandBus commandBus, IEventStore eventStore, IEventApplier eventApplier, IEventPublisher eventPublisher)
        {
            Ensure.That(commandBus, "commandBus").IsNotNull();
            Ensure.That(eventStore, "eventStore").IsNotNull();
            Ensure.That(eventApplier, "eventApplier").IsNotNull();
            Ensure.That(eventPublisher, "eventPublisher").IsNotNull();

            CommandBus = commandBus;
            EventStore = eventStore;
            EventApplier = eventApplier;
            EventPublisher = eventPublisher;
        }
コード例 #5
0
ファイル: ScritchyBus.cs プロジェクト: rmoorman/Scritchy
 public ScritchyBus(Func<Type, object> LoadHandler = null, IEventstoreAdapter adapter = null, bool DoNotApplyEvents = false)
 {
     if (LoadHandler == null)
         LoadHandler = x => Activator.CreateInstance(x);
     EventStore = new Scritchy.Infrastructure.Implementations.EventStorage.EventStore(adapter: adapter);
     Registry = new ConventionBasedRegistry();
     resolver = new HandlerInstanceResolver(EventStore, Registry, LoadHandler);
     ParameterResolver = new ParameterResolver(resolver);
     Bus = new CommandBus(EventStore, Registry, resolver,ParameterResolver);
     applier = new EventApplier(EventStore, Registry, resolver,ParameterResolver);
     this.DoNotApplyEvents = DoNotApplyEvents;
 }
コード例 #6
0
ファイル: CqrsRuntime.cs プロジェクト: zanthus/LiteCQRS
        public CqrsRuntime(ICommandBus commandBus, IEventStore eventStore, IEventApplier eventApplier, IEventPublisher eventPublisher)
        {
            Ensure.That(commandBus, "commandBus").IsNotNull();
            Ensure.That(eventStore, "eventStore").IsNotNull();
            Ensure.That(eventApplier, "eventApplier").IsNotNull();
            Ensure.That(eventPublisher, "eventPublisher").IsNotNull();

            CommandBus     = commandBus;
            EventStore     = eventStore;
            EventApplier   = eventApplier;
            EventPublisher = eventPublisher;
        }
コード例 #7
0
ファイル: ScritchyBus.cs プロジェクト: manhng83/Scritchy
 public ScritchyBus(Func <Type, object> LoadHandler = null, IEventstoreAdapter adapter = null, bool DoNotApplyEvents = false)
 {
     if (LoadHandler == null)
     {
         LoadHandler = x => Activator.CreateInstance(x);
     }
     EventStore        = new Scritchy.Infrastructure.Implementations.EventStorage.EventStore(adapter: adapter);
     Registry          = new ConventionBasedRegistry();
     resolver          = new HandlerInstanceResolver(EventStore, Registry, LoadHandler);
     ParameterResolver = new ParameterResolver(resolver);
     Bus     = new CommandBus(EventStore, Registry, resolver, ParameterResolver);
     applier = new EventApplier(EventStore, Registry, resolver, ParameterResolver);
     this.DoNotApplyEvents = DoNotApplyEvents;
 }
コード例 #8
0
ファイル: AggregateRoot.cs プロジェクト: zonaid/EventFlow
 protected void Register(IEventApplier <TAggregate, TIdentity> eventApplier)
 {
     _eventAppliers.Add(eventApplier);
 }
コード例 #9
0
 public void ForwardTo(IEventApplier applier)
 {
     applier.ProcessMessage(this);
 }
コード例 #10
0
ファイル: MiniCQRS.cs プロジェクト: almazik/MinimalisticCQRS
 public CommandHub(IEventApplier EventAppliers)
 {
     this.EventAppliers = new IEventApplier[] {this,EventAppliers};
 }
コード例 #11
0
 public CommandHandlerFactory(IEventRepository eventRepository, IEventApplier eventApplier)
 {
     _eventRepository = eventRepository;
     _eventApplier    = eventApplier;
 }
コード例 #12
0
ファイル: DomainRepository.cs プロジェクト: zanthus/LiteCQRS
 public DomainRepository(IEventStore eventStore, IEventApplier eventApplier, IEventPublisher eventPublisher)
 {
     EventStore     = eventStore;
     EventApplier   = eventApplier;
     EventPublisher = eventPublisher;
 }