/** * Register the change amount inventory * * @param integer $orderId Order identifier * @param \XLite\Module\XC\ProductVariants\Model\ProductVariant $variant Product variant object * @param integer $delta Inventory delta changes * * @return void */ public function registerChangeVariantAmount($orderId, $variant, $delta) { /** @var \XLite\Model\Product $product */ $product = $variant->getProduct(); $inventory = $product->getInventory(); if (!$variant->getDefaultAmount() || $inventory->getEnabled()) { $this->registerEvent($orderId, static::CODE_CHANGE_AMOUNT, $this->getOrderChangeAmountDescription($orderId, $delta, $inventory), $this->getOrderChangeAmountData($orderId, $product->getName(), $variant->getPublicAmount() - $delta, $delta)); } }
/** * Return base price * * @return float */ public function getBasePrice() { return parent::getClearPrice(); }
/** * Return true is variants are different * * @param \XLite\Module\XC\ProductVariants\Model\ProductVariant $old Old product variant * param \XLite\Module\XC\ProductVariants\Model\ProductVariant $new New product variant * * @return boolean */ protected function isItemDataChangedVariant($old, $new) { return $old && $new && $old->getId() != $new->getId(); }
/** * {@inheritDoc} */ public function prepareEntityBeforeCommit($type) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'prepareEntityBeforeCommit', array($type)); return parent::prepareEntityBeforeCommit($type); }