public async Task <ActionResult> AddCartCoupon(string couponCode)
        {
            EnsureThatCartExist();

            //Need lock to prevent concurrent access to same cart
            using (await AsyncLock.GetLockByKey(GetAsyncLockCartKey(WorkContext.CurrentCart)).LockAsync())
            {
                await _cartBuilder.AddCoupon(couponCode).SaveAsync();
            }
            return(Json(_cartBuilder.Cart.Coupon));
        }