public virtual async Task <Cart?> TryGet(string id, CancellationToken cancellationToken = default) { var dbCart = await _cartResolver.TryGet(id, cancellationToken); if (dbCart == null) { return(null); } return(new Cart() { Id = dbCart.Id, Items = dbCart.Items.ToImmutableDictionary(i => i.DbProductId, i => i.Quantity), }); }