public function handle(CreateCouponCommand $command)
 {
     $coupon = new Coupon($command->getCode(), $command->getCouponId());
     $coupon->setFlagFreeShipping($command->getFlagFreeShipping());
     $coupon->setMinOrderValue($command->getMinOrderValue());
     $coupon->setMaxOrderValue($command->getMaxOrderValue());
     $coupon->setCanCombineWithOtherCoupons($command->canCombineWithOtherCoupons());
     $coupon->setName($command->getName());
     $coupon->setType(PromotionType::createById($command->getPromotionTypeId()));
     $coupon->setValue($command->getValue());
     $coupon->setReducesTaxSubtotal($command->getReducesTaxSubtotal());
     $coupon->setMaxRedemptions($command->getMaxRedemptions());
     $coupon->setStart($command->getStartDate());
     $coupon->setEnd($command->getEndDate());
     $this->couponService->create($coupon);
 }
Example #2
0
 public function getCoupon($code = null)
 {
     if ($code === null) {
         $code = uniqid();
     }
     $coupon = new Coupon($code);
     $coupon->setName('20% OFF Test Coupon');
     $coupon->setType(PromotionType::percent());
     $coupon->setValue(20);
     $coupon->setStart(new DateTime('-1 Day'));
     $coupon->setEnd(new DateTime('+1 Day'));
     return $coupon;
 }