Example #1
0
 private static void ProjectEvent(IReadModelProjection projection, IChangeEvent @event,
                                  EventStreamStateChangeEvent changeEvent)
 {
     if (!projection.Project(@event))
     {
         throw new InvalidOperationException(
                   Resources.ReadModelProjector_ProjectionError.Fmt(projection.GetType().Name, changeEvent.Id,
                                                                    changeEvent.Metadata.Fqn));
     }
 }
Example #2
0
        private static void RelayEvent(IDomainEventPublisherSubscriberPair pair, IChangeEvent @event,
                                       EventStreamStateChangeEvent changeEvent)
        {
            var eventToPublish = pair.Publisher.Publish(@event);

            if (eventToPublish == null)
            {
                throw new InvalidOperationException(Resources.DomainEventNotificationProducer_PublisherError.Format(
                                                        pair.Publisher.GetType().Name,
                                                        changeEvent.Id, changeEvent.Metadata.Fqn));
            }

            if (!pair.Subscriber.Notify(eventToPublish))
            {
                throw new InvalidOperationException(Resources.DomainEventNotificationProducer_SubscriberError.Format(
                                                        pair.Subscriber.GetType().Name,
                                                        changeEvent.Id, changeEvent.Metadata.Fqn));
            }
        }
Example #3
0
 private static IChangeEvent DeserializeEvent(EventStreamStateChangeEvent changeEvent,
                                              IChangeEventMigrator migrator)
 {
     return(changeEvent.Metadata.CreateEventFromJson(changeEvent.Id, changeEvent.Data, migrator));
 }