CQRSalad.EventStore.MongoDB.MongoSnapshotSerializer.Serialize C# (CSharp) Method

Serialize() public method

public Serialize ( AggregateSnapshot snapshot ) : BsonDocument
snapshot CQRSalad.EventSourcing.AggregateSnapshot
return BsonDocument
        public BsonDocument Serialize(AggregateSnapshot snapshot)
        {
            return new BsonDocument()
            {
                { AggregateIdElement, snapshot.AggregateId },
                { AggregateTypeElement, snapshot.AggregateType.AssemblyQualifiedName },
                { VersionElement, snapshot.Version },
                { TimestampElement, snapshot.Timestamp },

                { StateTypeElement, snapshot.State.GetType().AssemblyQualifiedName },
                { StateElement, _dataSerializer.Serialize(snapshot.State) },
            };
        }

Usage Example

Example #1
0
 public async Task SaveSnapshot(AggregateSnapshot snapshot)
 {
     await GetCollection().ReplaceOneAsync(_snapshotSerializer.GetIdFilter(snapshot.AggregateId), _snapshotSerializer.Serialize(snapshot), MockUpsert);
 }