public void Can_invoke_handlers() { List<object> projectedEvents = new List<object>(); var handlerResolver = new ProjectionHandlerResolver(new TestProjectionModule(projectedEvents)); var handlers = handlerResolver.ResolveAll<TestEvent>().ToArray(); var projectionEvent = new ProjectionEvent<TestEvent>("streamid", Guid.NewGuid(), 1, DateTimeOffset.UtcNow, null, new TestEvent()); foreach(var handler in handlers) { handler(projectionEvent, CancellationToken.None); } projectedEvents.Count.Should().Be(1); }
private void Persist(AccountOwnerName view, ProjectionEvent <AccountOwnerRenamed> eventData) { view.Name = eventData.Data.NewName; }
private void Persist(Lap view, ProjectionEvent <LapFinished> eventData) { view.End = eventData.Timestamp; }
private void Persist(Lap view, ProjectionEvent <LapStarted> eventData) { view.Start = eventData.Timestamp; }
private void Persist(CreditCardLimit view, ProjectionEvent <CreditCardWithdrawed> @event) { view.Limit -= @event.Data.Amount; view.LastOperationTimestamp = @event.Timestamp; }
private void Persist(CreditCardLimit view, ProjectionEvent <CreditCardLimitAssigned> @event) { view.Limit = @event.Data.Limit; view.LastOperationTimestamp = @event.Timestamp; }
private void Persist(CreditCardLimit view, ProjectionEvent <CreditCardCreated> @event) { view.AccountOwnerId = @event.Data.OwnerId; view.LastOperationTimestamp = @event.Timestamp; }
public void Register(ProjectionEvent projectionEvent, Registered domainEvent) { _databaseGateway.ExecuteUsing(_queryFactory.Register(projectionEvent.Id, domainEvent)); }