Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Management.php
Go to the documentation of this file.
1 <?php
9 
14 
16 {
22  protected $filterBuilder;
23 
30 
36  protected $classRepository;
37 
43  public function __construct(
47  ) {
48  $this->searchCriteriaBuilder = $searchCriteriaBuilder;
49  $this->filterBuilder = $filterBuilder;
50  $this->classRepository = $classRepository;
51  }
52 
56  public function getTaxClassId($taxClassKey, $taxClassType = self::TYPE_PRODUCT)
57  {
58  if (!empty($taxClassKey)) {
59  switch ($taxClassKey->getType()) {
61  return $taxClassKey->getValue();
63  $searchCriteria = $this->searchCriteriaBuilder->addFilters(
64  [$this->filterBuilder->setField(ClassModel::KEY_TYPE)->setValue($taxClassType)->create()]
65  )->addFilters(
66  [
67  $this->filterBuilder->setField(ClassModel::KEY_NAME)
68  ->setValue($taxClassKey->getValue())
69  ->create(),
70  ]
71  )->create();
72  $taxClasses = $this->classRepository->getList($searchCriteria)->getItems();
73  $taxClass = array_shift($taxClasses);
74  return (null == $taxClass) ? null : $taxClass->getClassId();
75  }
76  }
77  return null;
78  }
79 }
getTaxClassId($taxClassKey, $taxClassType=self::TYPE_PRODUCT)
Definition: Management.php:56
$searchCriteria
__construct(SearchCriteriaBuilder $searchCriteriaBuilder, FilterBuilder $filterBuilder, \Magento\Tax\Model\TaxClass\Repository $classRepository)
Definition: Management.php:43