コード例 #1
0
        private T LoadFromSnapshot <T>(Guid aggregateId) where T : IAggregateRoot
        {
            var aggregateSnapshot = snapshotStore.GetSnapshotFromAggreate(aggregateId);

            if (aggregateSnapshot == null)
            {
                return(default(T));
            }
            var history = eventStore.GetEventsFromAggregateAfterVersion(aggregateSnapshot.Id, aggregateSnapshot.Version);

            return(CreateAggregateFromSnapshotAndHistory <T>(aggregateSnapshot, history));
        }