Kooboo.Commerce.Carts.ShoppingCartService.ApplyCoupon C# (CSharp) Method

ApplyCoupon() public method

public ApplyCoupon ( ShoppingCart cart, string coupon ) : bool
cart ShoppingCart
coupon string
return bool
        public bool ApplyCoupon(ShoppingCart cart, string coupon)
        {
            if (String.IsNullOrWhiteSpace(coupon))
            {
                return false;
            }

            var oldCoupon = cart.CouponCode;

            cart.CouponCode = coupon;

            var context = PriceCalculationContext.CreateFrom(cart);
            new PriceCalculator().Calculate(context);

            if (context.AppliedPromotions.Any(p => p.RequireCouponCode && p.CouponCode == coupon))
            {
                return true;
            }

            cart.CouponCode = oldCoupon;

            _repository.Database.SaveChanges();

            return false;
        }

Usage Example

Example #1
0
 public bool ApplyCoupon(int cartId, string coupon)
 {
     return _context.Database.Transactional(() =>
     {
         var service = new Core.ShoppingCartService(_context.Instance);
         var cart = service.Find(cartId);
         return service.ApplyCoupon(cart, coupon);
     });
 }
All Usage Examples Of Kooboo.Commerce.Carts.ShoppingCartService::ApplyCoupon