Example #1
0
 public static MongoCommitedSnapshot Create(SnapshotData e)
 {
     return(new MongoCommitedSnapshot
     {
         AggregateId = e.AggregateId,
         AggregateVersion = e.Version,
         SerializedData = e.Data.ToJson(),
         SerializedMetadata = e.Metadata.ToJson(),
     });
 }
Example #2
0
        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);
        }
Example #3
0
 private ICommitedSnapshot Deserialize(SnapshotData snapshotData)
 {
     return(MongoCommitedSnapshot.Create(snapshotData));
 }