Exemple #1
0
 /**
  * Create an array with tax rate titles having tax rate model.
  *
  * @param TaxRateModel $rateModel
  * @return array
  */
 public function createTitleArrayFromModel(TaxRateModel $rateModel)
 {
     $titlesData = $rateModel->getTitles();
     $titles = [];
     if ($titlesData) {
         foreach ($titlesData as $title) {
             $titles[] = $this->taxRateTitleDataObjectBuilder->setStoreId($title->getStoreId())->setValue($title->getValue())->create();
         }
     }
     return $titles;
 }
Exemple #2
0
 /**
  * {@inheritdoc}
  */
 protected function _setDataValues(array $data)
 {
     if (array_key_exists(TaxRate::KEY_ZIP_RANGE, $data)) {
         $data[TaxRate::KEY_ZIP_RANGE] = $this->zipRangeBuilder->populateWithArray($data[TaxRate::KEY_ZIP_RANGE])->create();
     }
     if (array_key_exists(TaxRate::KEY_TITLES, $data)) {
         $titles = array();
         foreach ($data[TaxRate::KEY_TITLES] as $titleData) {
             $titles[] = $this->taxRateTitleBuilder->populateWithArray($titleData)->create();
         }
         $data[TaxRate::KEY_TITLES] = $titles;
     }
     return parent::_setDataValues($data);
 }
Exemple #3
0
 /**
  * Populate a tax rate data object
  *
  * @param array $formData
  * @return \Magento\Tax\Service\V1\Data\TaxRate
  */
 protected function populateTaxRateData($formData)
 {
     $this->_taxRateBuilder->setId($this->extractFormData($formData, 'tax_calculation_rate_id'))->setCountryId($this->extractFormData($formData, 'tax_country_id'))->setRegionId($this->extractFormData($formData, 'tax_region_id'))->setPostcode($this->extractFormData($formData, 'tax_postcode'))->setCode($this->extractFormData($formData, 'code'))->setPercentageRate($this->extractFormData($formData, 'rate'));
     if (isset($formData['zip_is_range']) && $formData['zip_is_range']) {
         $this->_zipRangeBuilder->setFrom($this->extractFormData($formData, 'zip_from'))->setTo($this->extractFormData($formData, 'zip_to'));
         $zipRange = $this->_zipRangeBuilder->create();
         $this->_taxRateBuilder->setZipRange($zipRange);
     }
     if (isset($formData['title'])) {
         $titles = [];
         foreach ($formData['title'] as $storeId => $value) {
             $titles[] = $this->_taxRateTitleBuilder->setStoreId($storeId)->setValue($value)->create();
         }
         $this->_taxRateBuilder->setTitles($titles);
     }
     return $this->_taxRateBuilder->create();
 }