public Serialize ( |
||
snapshot | ||
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) },
};
}
public async Task SaveSnapshot(AggregateSnapshot snapshot) { await GetCollection().ReplaceOneAsync(_snapshotSerializer.GetIdFilter(snapshot.AggregateId), _snapshotSerializer.Serialize(snapshot), MockUpsert); }