getBehaviorPriceInherited() == 'by-piece') { return $product->getPriceInherited(); } elseif ($product->getBehaviorPriceInherited() == 'by-reference-unit') { if ($product->getQuantityInherited() > 0) { return $product->getPriceByRefUnitInherited() * ($product->getQuantityInherited() / $product->getUnitInherited()->getCoefficient()); } } } public function getPriceWithTax(ProductPropertyInterface $product) { return $this->applyTax( $this->getPrice($product), $product->getTaxRateInherited()->getValue() ); } public function getPriceByRefUnit(ProductPropertyInterface $product) { if ($product->getBehaviorPriceInherited() == 'by-piece') { return ($this->getPrice($product) * $product->getUnitInherited()->getCoefficient()) / $product->getQuantityInherited(); } elseif ($product->getBehaviorPriceInherited() == 'by-reference-unit') { return $product->getPriceByRefUnitInherited(); } } public function getPriceByRefUnitWithTax(ProductPropertyInterface $product) { return $this->applyTax( $this->getPriceByRefUnit($product), $product->getTaxRateInherited()->getValue() ); } public function getPriceWithTaxAndReduction(ProductPropertyInterface $product) { return $this->applyReductionCatalog( $product, $this->getPrice($product), $this->getPriceWithTax($product) ); } public function getPriceByRefUnitWithTaxAndReduction(ProductPropertyInterface $product) { return $this->applyReductionCatalog( $product, $this->getPriceByRefUnit($product), $this->getPriceByRefUnitWithTax($product) ); } }