Ejemplo n.º 1
0
 /**
  * Convert coupon for saving in order.
  *
  * @param string|array $coupon			Coupon.
  * @param int $discount					Order discount id.
  * @return Sale\Result
  */
 protected static function convertCoupon($coupon, $discount)
 {
     $result = new Sale\Result();
     if (!is_array($coupon)) {
         $couponData = Sale\DiscountCouponsManager::getEnteredCoupon($coupon, true);
         if (empty($couponData)) {
             $result->addError(new Main\Entity\EntityError(Loc::getMessage('BX_SALE_DISCOUNT_ERR_COUPON_NOT_FOUND'), self::ERROR_ID));
             return $result;
         }
         $coupon = array('COUPON' => $couponData['COUPON'], 'TYPE' => $couponData['TYPE'], 'COUPON_ID' => $couponData['ID'], 'DATA' => $couponData);
         unset($couponData);
     }
     $coupon['ORDER_DISCOUNT_ID'] = $discount;
     $coupon['ID'] = 0;
     $orderCouponId = $coupon['COUPON'];
     if (!isset(self::$couponsCache[$orderCouponId])) {
         self::$couponsCache[$orderCouponId] = $coupon;
     }
     $result->setId($orderCouponId);
     $result->setData($coupon);
     unset($coupon, $orderCouponId);
     return $result;
 }