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)); } }
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)); } }
private static IChangeEvent DeserializeEvent(EventStreamStateChangeEvent changeEvent, IChangeEventMigrator migrator) { return(changeEvent.Metadata.CreateEventFromJson(changeEvent.Id, changeEvent.Data, migrator)); }