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),
            });
        }