/** * Sync amount in stock with remaining pin codes * * @return void */ public function syncAmount() { $remaining = $this->getProduct()->getRemainingPinCodesCount(); if (parent::getAmount() !== $remaining) { $this->setAmount($remaining); \XLite\Core\Database::getEM()->persist($this); } }
/** * {@inheritDoc} */ public function getAmount() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAmount', array()); return parent::getAmount(); }
/** * Return product amount available to add to cart * * @return integer */ public function getPublicAmount() { return $this->getProduct() && $this->getProduct()->hasManualPinCodes() ? $this->getProduct()->getRemainingPinCodesCount() : parent::getAmount(); }