Exemplo n.º 1
0
        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);
                }
            }
        }