83 $this->_calculation = $calculation;
95 $this->_taxClass = $taxClass;
108 $this->_eventManager->dispatch(
'tax_settings_change_after');
120 $this->_eventManager->dispatch(
'tax_settings_change_after');
121 return parent::afterDelete();
129 $ctc = $this->
getData(
'customer_tax_class_ids');
130 $ptc = $this->
getData(
'product_tax_class_ids');
133 $this->_calculation->deleteByRuleId($this->
getId());
134 foreach ($ctc as $c) {
135 foreach ($ptc as $p) {
138 'tax_calculation_rule_id' => $this->
getId(),
139 'tax_calculation_rate_id' => $r,
140 'customer_tax_class_id' => $c,
141 'product_tax_class_id' => $p,
143 $this->_calculation->setData($dataArray)->save();
190 public function fetchRuleCodes($rateId, $customerTaxClassIds, $productTaxClassIds)
192 return $this->
getResource()->fetchRuleCodes($rateId, $customerTaxClassIds, $productTaxClassIds);
201 return $this->
getData(self::KEY_CODE);
209 return (
int) $this->
getData(self::KEY_POSITION);
217 return (
bool) $this->
getData(self::KEY_CALCULATE_SUBTOTAL);
225 return $this->
getData(self::KEY_PRIORITY);
235 $ids = $this->
getData(self::KEY_CUSTOMER_TAX_CLASS_IDS);
238 $this->
setData(self::KEY_CUSTOMER_TAX_CLASS_IDS, $ids);
248 $ids = $this->
getData(self::KEY_PRODUCT_TAX_CLASS_IDS);
251 $this->
setData(self::KEY_PRODUCT_TAX_CLASS_IDS, $ids);
261 $ids = $this->
getData(self::KEY_TAX_RATE_IDS);
264 $this->
setData(self::KEY_TAX_RATE_IDS, $ids);
280 return array_values(array_unique(
$values));
310 return $this->
setData(self::KEY_PRIORITY, $priority);
321 return $this->
setData(self::KEY_POSITION, $position);
332 return $this->
setData(self::KEY_CUSTOMER_TAX_CLASS_IDS, $customerTaxClassIds);
343 return $this->
setData(self::KEY_PRODUCT_TAX_CLASS_IDS, $productTaxClassIds);
354 return $this->
setData(self::KEY_TAX_RATE_IDS, $taxRateIds);
365 return $this->
setData(self::KEY_CALCULATE_SUBTOTAL, $calculateSubtotal);
const KEY_CUSTOMER_TAX_CLASS_IDS
_getExtensionAttributes()
setProductTaxClassIds(array $productTaxClassIds=null)
_setExtensionAttributes(\Magento\Framework\Api\ExtensionAttributesInterface $extensionAttributes)
setExtensionAttributes(\Magento\Tax\Api\Data\TaxRuleExtensionInterface $extensionAttributes)
fetchRuleCodes($rateId, $customerTaxClassIds, $productTaxClassIds)
_getUniqueValues($values)
setCalculateSubtotal($calculateSubtotal)
getData($key='', $index=null)
setData($key, $value=null)
setTaxRateIds(array $taxRateIds=null)
const KEY_CALCULATE_SUBTOTAL
setCustomerTaxClassIds(array $customerTaxClassIds=null)
const KEY_PRODUCT_TAX_CLASS_IDS
_getValidationRulesBeforeSave()
__construct(\Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, ExtensionAttributesFactory $extensionFactory, AttributeValueFactory $customAttributeFactory, \Magento\Tax\Model\ClassModel $taxClass, \Magento\Tax\Model\Calculation $calculation, \Magento\Tax\Model\Calculation\Rule\Validator $validator, \Magento\Framework\Model\ResourceModel\AbstractResource $resource=null, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection=null, array $data=[])