17 use Magento\Tax\Api\Data\TaxRuleSearchResultsInterfaceFactory;
18 use Magento\Tax\Model\Calculation\RuleFactory;
22 use Magento\Tax\Model\ResourceModel\Calculation\Rule\CollectionFactory;
62 private $collectionProcessor;
75 TaxRuleSearchResultsInterfaceFactory $searchResultsFactory,
76 RuleFactory $ruleFactory,
83 $this->taxRuleSearchResultsFactory = $searchResultsFactory;
84 $this->taxRuleModelFactory = $ruleFactory;
88 $this->collectionProcessor = $collectionProcessor ?: $this->getCollectionProcessor();
96 return $this->taxRuleRegistry->retrieveTaxRule(
$ruleId);
107 $this->taxRuleRegistry->retrieveTaxRule(
$ruleId);
109 $this->resource->save(
$rule);
117 $this->taxRuleRegistry->registerTaxRule(
$rule);
127 $this->resource->delete(
$rule);
128 $this->taxRuleRegistry->removeTaxRule(
$ruleId);
137 $rule = $this->taxRuleRegistry->retrieveTaxRule(
$ruleId);
138 return $this->
delete(
$rule);
146 $searchResults = $this->taxRuleSearchResultsFactory->create();
152 $searchResults->setTotalCount(
$collection->getSize());
155 return $searchResults;
171 foreach ($filterGroup->
getFilters() as $filter) {
172 $condition = $filter->getConditionType() ? $filter->getConditionType() :
'eq';
175 $conditions[] = [$condition => $filter->getValue()];
177 case 'rate.tax_calculation_rate_id':
181 case 'ctc.customer_tax_class_id':
185 case 'ptc.product_tax_class_id':
206 return 'tax_calculation_rule_id';
208 return 'tax_calculation_rate_id';
209 case 'customer_tax_class_ids':
210 return 'cd.customer_tax_class_id';
211 case 'product_tax_class_ids':
212 return 'cd.product_tax_class_id';
226 private function getCollectionProcessor()
228 if (!$this->collectionProcessor) {
230 'Magento\Tax\Model\Api\SearchCriteria\TaxRuleCollectionProcessor' 233 return $this->collectionProcessor;
save(TaxRuleInterface $rule)
addFilterGroupToCollection(FilterGroup $filterGroup, Collection $collection)
getList(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria)
$taxRuleSearchResultsFactory
__construct(TaxRuleRegistry $taxRuleRegistry, TaxRuleSearchResultsInterfaceFactory $searchResultsFactory, RuleFactory $ruleFactory, CollectionFactory $collectionFactory, ResourceRule $resource, \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $joinProcessor, CollectionProcessorInterface $collectionProcessor=null)