Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Attributes
TaxRateManagement Class Reference
Inheritance diagram for TaxRateManagement:
TaxRateManagementInterface

Public Member Functions

 __construct (TaxRuleRepositoryInterface $taxRuleRepository, TaxRateRepositoryInterface $taxRateRepository, FilterBuilder $filterBuilder, SearchCriteriaBuilder $searchCriteriaBuilder)
 
 getRatesByCustomerAndProductTaxClassId ($customerTaxClassId, $productTaxClassId)
 

Protected Attributes

 $searchCriteriaBuilder
 
 $filterBuilder
 
 $taxRuleRepository
 
 $taxRateRepository
 

Detailed Description

Definition at line 15 of file TaxRateManagement.php.

Constructor & Destructor Documentation

◆ __construct()

__construct ( TaxRuleRepositoryInterface  $taxRuleRepository,
TaxRateRepositoryInterface  $taxRateRepository,
FilterBuilder  $filterBuilder,
SearchCriteriaBuilder  $searchCriteriaBuilder 
)
Parameters
TaxRuleRepositoryInterface$taxRuleRepository
TaxRateRepositoryInterface$taxRateRepository
FilterBuilder$filterBuilder
SearchCriteriaBuilder$searchCriteriaBuilder

Definition at line 43 of file TaxRateManagement.php.

48  {
49  $this->taxRuleRepository = $taxRuleRepository;
50  $this->taxRateRepository = $taxRateRepository;
51  $this->filterBuilder = $filterBuilder;
52  $this->searchCriteriaBuilder = $searchCriteriaBuilder;
53  }

Member Function Documentation

◆ getRatesByCustomerAndProductTaxClassId()

getRatesByCustomerAndProductTaxClassId (   $customerTaxClassId,
  $productTaxClassId 
)

{Get rates by customerTaxClassId and productTaxClassId

Parameters
int$customerTaxClassId
int$productTaxClassId
Returns
TaxRateInterface[]
}

Implements TaxRateManagementInterface.

Definition at line 58 of file TaxRateManagement.php.

59  {
60  $this->searchCriteriaBuilder->addFilters(
61  [
62  $this->filterBuilder
63  ->setField('customer_tax_class_ids')
64  ->setValue([$customerTaxClassId])
65  ->create(),
66  ]
67  );
68 
69  $this->searchCriteriaBuilder->addFilters(
70  [
71  $this->filterBuilder
72  ->setField('product_tax_class_ids')
73  ->setValue([$productTaxClassId])
74  ->create(),
75  ]
76  );
77 
78  $searchResults = $this->taxRuleRepository->getList($this->searchCriteriaBuilder->create());
79  $taxRules = $searchResults->getItems();
80  $rates = [];
81  foreach ($taxRules as $taxRule) {
82  $rateIds = $taxRule->getTaxRateIds();
83  if (!empty($rateIds)) {
84  foreach ($rateIds as $rateId) {
85  $rates[] = $this->taxRateRepository->get($rateId);
86  }
87  }
88  }
89  return $rates;
90  }
$rates
Definition: tax.phtml:35
$taxRule
Definition: tax_rule.php:35

Field Documentation

◆ $filterBuilder

$filterBuilder
protected

Definition at line 25 of file TaxRateManagement.php.

◆ $searchCriteriaBuilder

$searchCriteriaBuilder
protected

Definition at line 20 of file TaxRateManagement.php.

◆ $taxRateRepository

$taxRateRepository
protected

Definition at line 35 of file TaxRateManagement.php.

◆ $taxRuleRepository

$taxRuleRepository
protected

Definition at line 30 of file TaxRateManagement.php.


The documentation for this class was generated from the following file: