private void ApplyMeetingsEvent(MeetingsEvent @event)
        {
            _readModel.Integrate(@event);

            @event.Apply(
                meetingStarted => ListenToEvents <MeetingEvent>($"Meeting-{meetingStarted.MeetingId}", ApplyMeetingEvent)
                );
        }
Exemple #2
0
        private IEnumerable <MeetingsListEvent> HandleMeetingsEvent(MeetingsEvent meetingsEvent)
        {
            _logger.LogInformation($"Received {meetingsEvent}");

            if (meetingsEvent is MeetingsEvent.MeetingStartedEvent meetingStarted)
            {
                AddProcessor <MeetingEvent>($"Meeting-{meetingStarted.MeetingId}", HandleMeetingEvent);
            }

            return(_readModel.Integrate(meetingsEvent));
        }
Exemple #3
0
        private void ApplyMeetingsEvent(MeetingsEvent @event)
        {
            @event.Apply(
                meetingStarted =>
            {
                _logger.LogInformation($"Adding Meeting {meetingStarted.MeetingId}");

                _readModelCollection.Add(meetingStarted.MeetingId, meetingStarted.Name);

                ListenToEvents <MeetingEvent>($"Meeting-{meetingStarted.MeetingId}", ApplyMeetingEvent);
            });
        }
        private IEnumerable <MeetingViewEvent> HandleMeetingsEvent(MeetingsEvent meetingsEvent)
        {
            _logger.LogInformation($"Received {meetingsEvent}");

            if (meetingsEvent is MeetingsEvent.MeetingStartedEvent meetingStarted)
            {
                _readModels.Add(meetingStarted.MeetingId, new MeetingViewReadModel(meetingStarted.MeetingId, meetingStarted.Name));

                AddProcessor <MeetingEvent>($"Meeting-{meetingStarted.MeetingId}", HandleMeetingEvent);
            }

            return(Enumerable.Empty <MeetingViewEvent>());
        }
Exemple #5
0
 public IEnumerable <MeetingsListEvent> Integrate(MeetingsEvent @event)
 => @event.Match(
     startedEvent => AddMeeting(startedEvent.MeetingId, startedEvent.Name)
     );