/// <summary> /// Removes a coupon code /// </summary> /// <param name="customer">Customer</param> /// <param name="couponCode">Coupon code to remove</param> /// <returns>New coupon codes document</returns> public static void RemoveGiftCardCouponCode(this Customer customer, string couponCode) { //get applied coupon codes var existingCouponCodes = customer.ParseAppliedGiftCardCouponCodes(); //clear them var genericAttributeService = EngineContext.Current.Resolve<IGenericAttributeService>(); genericAttributeService.SaveAttribute<string>(customer, SystemCustomerAttributeNames.GiftCardCouponCodes, null); //save again except removed one foreach (string existingCouponCode in existingCouponCodes) if (!existingCouponCode.Equals(couponCode, StringComparison.InvariantCultureIgnoreCase)) customer.ApplyGiftCardCouponCode(existingCouponCode); }
/// <summary> /// Removes a coupon code /// </summary> /// <param name="customer">Customer</param> /// <param name="couponCode">Coupon code to remove</param> /// <returns>New coupon codes document</returns> public static void RemoveGiftCardCouponCode(this Customer customer, string couponCode) { //get applied coupon codes var existingCouponCodes = customer.ParseAppliedGiftCardCouponCodes(); //clear them customer.GiftCardCouponCodes = string.Empty; //save again except removed one foreach (string existingCouponCode in existingCouponCodes) if (!existingCouponCode.Equals(couponCode, StringComparison.InvariantCultureIgnoreCase)) customer.ApplyGiftCardCouponCode(existingCouponCode); }