/// <summary> /// Applies Coupon To Shopping Cart /// </summary> /// <param name="coupon">Coupon</param> public void ApplyCoupon(Coupon coupon) { if (coupon == null) { throw new ArgumentNullException(nameof(coupon)); } if (!DiscountSatisfactions.IsCouponTotalSatisfied(this, coupon)) { return; } _appliedCoupons.Add(coupon); }
/// <summary> /// Applies Campaign Discounts /// </summary> /// <param name="campaigns">Discount</param> public void ApplyDiscounts(params Campaign[] campaigns) { if (campaigns == null) { throw new ArgumentNullException(nameof(campaigns)); } foreach (var campaign in campaigns) { if (!DiscountSatisfactions.IsCampaignItemCountSatisfied(_shoppingCartItems, campaign)) { continue; } _appliedCampaigns.Add(campaign); } }