public static void AdjustCoupon(Basket basket, CouponAdjustment coupAdj)
        {
            if (coupAdj != null)
            {
                BasketItem basketItem = new BasketItem();
                basketItem.OrderItemType = OrderItemType.Coupon;
                basketItem.Price         = -1 * coupAdj.appliedamount.Value;
                basketItem.Quantity      = 1;
                basketItem.BasketId      = basket.BasketId;
                basketItem.Sku           = coupAdj.code;

                Coupon coupon = CouponDataSource.LoadForCouponCode(coupAdj.code);
                if (coupon == null)
                {
                    //shouldn't ever happen. However if it does we have
                    //no option but to add as an unknown coupon
                    basketItem.Name = "Unknown Coupon '" + coupAdj.code + "' (GoogleCheckout)";
                    Logger.Warn("A coupon applied by Google Checkout is not recognized in the Store. Coupon Code : " + coupAdj.code + ", Applied Amount : " + coupAdj.appliedamount);
                }
                else
                {
                    basketItem.Name = coupon.Name;
                    basket.BasketCoupons.Add(new BasketCoupon(basket.BasketId, coupon.CouponId));
                }

                basket.Items.Add(basketItem);
            }
        }
    private string GetCouponCode(object[] obj)
    {
        if (obj == null)
        {
            return(String.Empty);
        }

        foreach (object o in obj)
        {
            if (o is CouponAdjustment)
            {
                CouponAdjustment result = (CouponAdjustment)o;
                return(result.code);
            }
        }

        return(String.Empty);
    }