Example #1
0
 /**
  * @param OrderBase $order
  * @return Entity\Result
  */
 public static function doCalculate(OrderBase $order)
 {
     $result = new Result();
     if ($order->getPersonTypeId() !== null) {
         if (!($personTypeList = static::load($order->getSiteId(), $order->getPersonTypeId()))) {
             $result->addError(new Entity\EntityError(GetMessage('SKGP_PERSON_TYPE_NOT_FOUND'), 'PERSON_TYPE_ID'));
         }
         return $result;
     }
     if (($personTypeList = static::load($order->getSiteId())) && !empty($personTypeList) && is_array($personTypeList)) {
         $firstPersonType = reset($personTypeList);
         $order->setPersonTypeId($firstPersonType["ID"]);
     } else {
         $result->addError(new Entity\EntityError(GetMessage('SKGP_PERSON_TYPE_EMPTY'), 'PERSON_TYPE_ID'));
     }
     return $result;
 }
Example #2
0
 /**
  * @param OrderBase $order
  * @return array|null
  */
 public static function load(OrderBase $order)
 {
     $tax = new static();
     $tax->order = $order;
     if ($order->getId() > 0) {
         $tax->list = $tax->loadList($order);
     } else {
         $tax->list = $tax->getAvailableList();
     }
     return $tax;
 }
Example #3
0
 /**
  * @param OrderBase $order
  */
 public function setOrder(OrderBase $order)
 {
     $this->order = $order;
     $this->orderId = $order->getId();
 }
Example #4
0
 /**
  * @return bool
  */
 public function isChanged()
 {
     if (parent::isChanged()) {
         return true;
     }
     /** @var PropertyValueCollection $propertyCollection */
     if ($propertyCollection = $this->getPropertyCollection()) {
         if ($propertyCollection->isChanged()) {
             return true;
         }
     }
     /** @var Basket $basket */
     if ($basket = $this->getBasket()) {
         if ($basket->isChanged()) {
             return true;
         }
         /** @var PaymentCollection $paymentCollection */
         if ($paymentCollection = $this->getPaymentCollection()) {
             if ($paymentCollection->isChanged()) {
                 return true;
             }
         }
         /** @var ShipmentCollection $shipmentCollection */
         if ($shipmentCollection = $this->getShipmentCollection()) {
             if ($shipmentCollection->isChanged()) {
                 return true;
             }
         }
     }
     return false;
 }