21 use Magento\Tax\Model\ResourceModel\TaxClass\CollectionFactory as TaxClassCollectionFactory;
72 private $collectionProcessor;
101 $this->collectionProcessor = $collectionProcessor ?: $this->getCollectionProcessor();
107 public function save(\
Magento\Tax\Api\Data\TaxClassInterface $taxClass)
109 if ($taxClass->getClassId()) {
110 $originalTaxClassModel = $this->
get($taxClass->getClassId());
113 if ($originalTaxClassModel->getClassType() !== $taxClass->getClassType()) {
119 $this->taxClassResource->save($taxClass);
120 }
catch (ModelException $e) {
121 if (strpos($e->getMessage(), (string)
__(
'Class name and class type')) !==
false) {
124 'A class with the same name already exists for ClassType %1.',
125 $taxClass->getClassType()
132 $this->classModelRegistry->registerTaxClass($taxClass);
133 return $taxClass->getClassId();
139 public function get($taxClassId)
141 return $this->classModelRegistry->retrieve($taxClassId);
149 $taxClassId = $taxClass->getClassId();
151 $this->taxClassResource->delete($taxClass);
154 }
catch (\Exception $e) {
157 $this->classModelRegistry->remove($taxClassId);
166 $taxClassModel = $this->
get($taxClassId);
167 return $this->
delete($taxClassModel);
182 $exception->addError(
187 $classType = $taxClass->getClassType();
189 $exception->addError(
195 $exception->addError(
197 'Invalid value of "%value" provided for the %fieldName field.',
203 if ($exception->wasErrorAdded()) {
213 $searchResults = $this->searchResultsFactory->create();
216 $collection = $this->taxClassCollectionFactory->create();
219 $searchResults->setTotalCount(
$collection->getSize());
221 return $searchResults;
235 foreach ($filterGroup->
getFilters() as $filter) {
236 $condition = $filter->getConditionType() ? $filter->getConditionType() :
'eq';
237 $fields[] = $filter->getField();
238 $conditions[] = [$condition => $filter->getValue()];
251 private function getCollectionProcessor()
253 if (!$this->collectionProcessor) {
255 \
Magento\Framework\Api\SearchCriteria\CollectionProcessor::class
258 return $this->collectionProcessor;
save(\Magento\Tax\Api\Data\TaxClassInterface $taxClass)
elseif(isset( $params[ 'redirect_parent']))
addFilterGroupToCollection(FilterGroup $filterGroup, TaxClassCollection $collection)
const CLASS_ID_NOT_ALLOWED
__construct(SearchCriteriaBuilder $searchCriteriaBuilder, FilterBuilder $filterBuilder, TaxClassCollectionFactory $taxClassCollectionFactory, \Magento\Tax\Api\Data\TaxClassSearchResultsInterfaceFactory $searchResultsFactory, ClassModelRegistry $classModelRegistry, \Magento\Tax\Model\ResourceModel\TaxClass $taxClassResource, \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $joinProcessor, CollectionProcessorInterface $collectionProcessor=null)
getList(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria)
$taxClassCollectionFactory
static is($value, $classBaseName, array $args=array(), $namespaces=array())
validateTaxClassData(\Magento\Tax\Api\Data\TaxClassInterface $taxClass)