public async Task <ActionResult> Delete(string userId, [FromBody] BareProductInfo value)
        {
            try
            {
                long.TryParse(value.ProductId, out long productId);

                await mongo.RemoveCartItem(productId, userId);

                return(new OkResult());
            }
            catch (Exception)
            {
                return(new StatusCodeResult(500));
            }
        }
        public async Task <ActionResult> Put(string userId, [FromBody] BareProductInfo value)
        {
            try
            {
                var cartItem = new ShoppingCartItem {
                    DateModified = DateTime.UtcNow,
                    UserId       = userId,
                    ProductId    = value.ProductId,
                    Sku          = value.Sku,
                    Quantity     = 1
                };

                await mongo.AddCartItem(cartItem);

                return(new OkResult());
            }
            catch (Exception)
            {
                return(new StatusCodeResult(500));
            }
        }