Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
            }
        }