public async Task Add(int cartId, string webHook)
        {
            using var connection = _cartServiceConnectionFactory.CreateConnection();

            await connection.ExecuteAsync(
                "INSERT INTO WebHook(CartId, Uri) " +
                "VALUES (@cartId, @uri)",
                new { cartId, uri = webHook });
        }
        public async Task <IReadOnlyCollection <CartItemEntry> > Get(int cartId)
        {
            using var connection = _cartServiceConnectionFactory.CreateConnection();

            var result = await connection.QueryAsync <CartItemEntry>(
                "SELECT ProductId, Quantity " +
                "FROM CartItem " +
                "WHERE CartId = @cartId",
                new { cartId });

            return(result.ToList());
        }
        public async Task <IReadOnlyCollection <Cart> > GetOutdated(DateTimeOffset olderThan)
        {
            using var connection = _cartServiceConnectionFactory.CreateConnection();

            var carts = await connection.QueryAsync <Cart>(
                "SELECT Id, Created, Updated " +
                "FROM Cart " +
                "WHERE Created < @olderThan",
                new { olderThan = olderThan.DateTime });

            return(carts.ToArray());
        }