public async Task <T?> TryRehydrateState(Guid streamId)
 {
     return((await _snapshotReader.TryRestoreSnapshot(streamId).ConfigureAwait(continueOnCapturedContext: false)) switch
     {
         T snapshot => await Rehydrate(streamId, snapshot).ConfigureAwait(continueOnCapturedContext: false),
         _ => await TryRehydrate(streamId).ConfigureAwait(continueOnCapturedContext: false),
     });
Example #2
0
        public async Task <T> TryRehydrateState(Guid streamId)
        {
            switch (await _snapshotReader.TryRestoreSnapshot(streamId).ConfigureAwait(continueOnCapturedContext: false))
            {
            case T snapshot: return(await Rehydrate(streamId, snapshot).ConfigureAwait(continueOnCapturedContext: false));

            default: return(await TryRehydrate(streamId).ConfigureAwait(continueOnCapturedContext: false));
            }
        }