public static MongoCommitedSnapshot Create(SnapshotData e) { return(new MongoCommitedSnapshot { AggregateId = e.AggregateId, AggregateVersion = e.Version, SerializedData = e.Data.ToJson(), SerializedMetadata = e.Metadata.ToJson(), }); }
private SnapshotData Serialize(ISerializedSnapshot serializedSnapshot) { var eventData = BsonDocument.Parse(serializedSnapshot.SerializedData); var metadata = BsonDocument.Parse(serializedSnapshot.SerializedMetadata); var id = serializedSnapshot.Metadata.GetValue(MetadataKeys.SnapshotId, Guid.Parse); var snapshot = new SnapshotData { Id = id, Timestamp = DateTime.UtcNow, AggregateId = serializedSnapshot.AggregateId, Version = serializedSnapshot.AggregateVersion, Data = eventData, Metadata = metadata, }; return(snapshot); }
private ICommitedSnapshot Deserialize(SnapshotData snapshotData) { return(MongoCommitedSnapshot.Create(snapshotData)); }