예제 #1
0
        /// <summary>
        /// Convert a <see cref="CommittedEventStream"/> to <see cref="Dolittle.Runtime.Events.Store.CommittedEventStream"/>
        /// </summary>
        /// <param name="protobuf"><see cref="CommittedEventStream"/> to convert from</param>
        /// <returns>Converted <see cref="Dolittle.Runtime.Events.Store.CommittedEventStream"/></returns>
        public static Dolittle.Runtime.Events.Store.CommittedEventStream ToCommittedEventStream(this CommittedEventStream protobuf)
        {
            var eventSourceId        = protobuf.Source.EventSource.ToConcept <EventSourceId>();
            var artifactId           = protobuf.Source.Artifact.ToConcept <ArtifactId>();
            var versionedEventSource = new Dolittle.Runtime.Events.VersionedEventSource(eventSourceId, artifactId);
            var commitId             = protobuf.Id.ToConcept <CommitId>();
            var correlationId        = protobuf.CorrelationId.ToConcept <CorrelationId>();
            var timeStamp            = protobuf.TimeStamp.ToDateTimeOffset();

            var events = protobuf.Events.Select(_ =>
                                                new Dolittle.Runtime.Events.EventEnvelope(
                                                    _.Metadata.ToEventMetadata(),
                                                    _.Event.ToPropertyBag()
                                                    )
                                                ).ToArray();

            return(new Dolittle.Runtime.Events.Store.CommittedEventStream(
                       protobuf.Sequence,
                       versionedEventSource,
                       commitId,
                       correlationId,
                       timeStamp,
                       new Dolittle.Runtime.Events.Store.EventStream(events)
                       ));
        }
예제 #2
0
        /// <summary>
        /// Convert from <see cref="Dolittle.Runtime.Events.VersionedEventSource"/> to <see cref="VersionedEventSource"/>
        /// </summary>
        /// <param name="versionedEventSource"><see cref="Dolittle.Runtime.Events.VersionedEventSource"/> to convert from</param>
        /// <returns>Converted <see cref="VersionedEventSource"/></returns>
        public static VersionedEventSource ToProtobuf(this Dolittle.Runtime.Events.VersionedEventSource versionedEventSource)
        {
            var source = new VersionedEventSource
            {
                Version     = versionedEventSource.Version.ToProtobuf(),
                EventSource = versionedEventSource.EventSource.ToProtobuf(),
                Artifact    = versionedEventSource.Artifact.ToProtobuf()
            };

            return(source);
        }