Example #1
0
File: Tax.php Project: kingsj/core
 /**
  * Calculate product net price
  * 
  * @param \XLite\Model\Product $product Product
  * @param float                $price   Price
  *  
  * @return float
  */
 public function deductTaxFromPrice(\XLite\Model\Product $product, $price)
 {
     foreach ($this->getTaxes() as $tax) {
         $includedZones = $tax->getVATZone() ? array($tax->getVATZone()->getZoneId()) : array();
         $included = $tax->getFilteredRate($includedZones, $tax->getVATMembership(), $product->getClasses());
         if ($included) {
             $price -= $included->calculateProductPriceExcludingTax($product, $price);
         }
     }
     return $price;
 }
Example #2
0
 /**
  * Import classes
  *
  * @param \XLite\Model\Product $product Product
  * @param string               $data    Data
  *
  * @return void
  */
 protected function importClasses(\XLite\Model\Product $product, $data)
 {
     // Remove old classes
     foreach ($product->getClasses() as $class) {
         $class->getProducts()->removeElement($product);
     }
     $product->getClasses()->clear();
     if ($data) {
         // Add classes links
         foreach (explode(';', $data) as $name) {
             $name = trim($name);
             $translation = \XLite\Core\Database::getRepo('XLite\\Model\\ProductClassTranslation')->findOneBy(array('name' => $name));
             if ($translation) {
                 $class = $translation->getOwner();
             } else {
                 $class = new \XLite\Model\ProductClass();
                 $class->setName($name);
                 \XLite\Core\Database::getEM()->persist($class);
             }
             $class->addProducts($product);
             $product->addClasses($class);
         }
     }
 }