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