private async Task EventAppeared(StreamSubscription subscription, ResolvedEvent resolvedEvent, CancellationToken cancellationToken) { _logger.LogInformation("{eventType}@{preparePosition}", resolvedEvent.Event.EventType, resolvedEvent.Event.Position.PreparePosition); var e = EventSerializer.Deserialize(resolvedEvent); await ExecuteProjectionHandlers(e); }
private async Task EventAppeared(StreamSubscription subscription, ResolvedEvent resolvedEvent, CancellationToken cancellationToken) { _logger.LogInformation("{eventType}@{preparePosition}", resolvedEvent.Event.EventType, resolvedEvent.Event.Position.PreparePosition); var e = EventSerializer.Deserialize(resolvedEvent); foreach (var projection in _projections) { if (projection.CanHandle(e.GetType())) { await projection.Handle(e); } } }