Esempio n. 1
0
 /**
  * Get included tax list
  *
  * @param boolean $override Override calculation flag OPTIONAL
  * 
  * @return array
  */
 public function getIncludedTaxList($override = false)
 {
     if (!isset($this->includedTaxList) || $override) {
         $this->includedTaxList = \XLite\Module\CDev\VAT\Logic\Product\Tax::getInstance()->calculateProductTaxes($this, $this->getNetPrice());
     }
     return $this->includedTaxList;
 }
Esempio n. 2
0
 /**
  * Get surcharge absolute value
  *
  * @return float
  */
 public function getDisplaySurchargePrice()
 {
     $value = parent::getAbsoluteValue();
     $product = $this->getOption()->getGroup()->getProduct();
     $value = \XLite\Module\CDev\VAT\Logic\Product\Tax::getInstance()->deductTaxFromPrice($product, $value);
     if (\XLite\Core\Config::getInstance()->CDev->VAT->display_prices_including_vat) {
         $value += \XLite\Module\CDev\VAT\Logic\Product\Tax::getInstance()->getVATValue($product, $value);
     }
     return $value;
 }
Esempio n. 3
0
 /**
  * Assign price range-based search condition
  *
  * @param \Doctrine\ORM\QueryBuilder $queryBuilder Query builder
  * @param float                      $min          Minimum
  * @param float                      $max          Maximum
  *
  * @return void
  */
 protected function assignPriceRangeCondition(\Doctrine\ORM\QueryBuilder $queryBuilder, $min, $max)
 {
     if (\XLite::isAdminZone()) {
         parent::assignPriceRangeCondition($queryBuilder, $min, $max);
     } else {
         $queryBuilder->leftJoin('p.classes', 'classes', 'WITH');
         $cnd = \XLite\Module\CDev\VAT\Logic\Product\Tax::getInstance()->getSearchPriceCondition('p.price', 'classes');
         if (isset($min)) {
             $queryBuilder->andWhere($cnd . ' > :minPrice')->setParameter('minPrice', doubleval($min));
         }
         if (isset($max)) {
             $queryBuilder->andWhere($cnd . ' < :maxPrice')->setParameter('maxPrice', doubleval($max));
         }
     }
 }
Esempio n. 4
0
 /**
  * Modify money 
  * 
  * @param float                $value     Value
  * @param \XLite\Model\AEntity $model     Model
  * @param string               $property  Model's property
  * @param array                $behaviors Behaviors
  * @param string               $purpose   Purpose
  *  
  * @return void
  */
 public static function modifyMoney($value, \XLite\Model\AEntity $model, $property, array $behaviors, $purpose)
 {
     $obj = $model instanceof \XLite\Model\Product ? $model : $model->getProduct();
     return \XLite\Module\CDev\VAT\Logic\Product\Tax::getInstance()->deductTaxFromPrice($obj, $value);
 }