public async Task <ActionResult <Book> > GetSnapshotValueAsync(string id) { var result = await _snapshots.GetAsync(ObjectType.Book, id); if (!result.TryPickT0(out var snapshot, out _)) { return(ResultUtilities.NotFound(id)); } var valueResult = await _snapshots.GetValueAsync <DbBook>(snapshot); if (!valueResult.TryPickT0(out var book, out _)) { return(ResultUtilities.NotFound(id)); } return(book.Convert(_services)); }