/** * @param \Generated\Shared\Transfer\TaxSetTransfer $taxSetTransfer * * @throws \Spryker\Zed\Tax\Business\Model\Exception\ResourceNotFoundException * * @return int */ public function updateTaxSet(TaxSetTransfer $taxSetTransfer) { $taxSetEntity = $this->queryContainer->queryTaxSet($taxSetTransfer->getIdTaxSet())->findOne(); if ($taxSetEntity === null) { throw new ResourceNotFoundException(); } $taxSetEntity->setName($taxSetTransfer->getName())->setSpyTaxRates(new Collection()); foreach ($taxSetTransfer->getTaxRates() as $taxRateTransfer) { $taxRateEntity = $this->findOrCreateTaxRateEntity($taxRateTransfer); $taxSetEntity->addSpyTaxRate($taxRateEntity); } foreach ($this->taxChangePlugins as $plugin) { $plugin->handleTaxSetChange($taxSetEntity->getIdTaxSet()); } return $taxSetEntity->save(); }
/** * @param int $id * * @throws \Spryker\Zed\Tax\Business\Model\Exception\ResourceNotFoundException * * @return \Generated\Shared\Transfer\TaxSetTransfer */ public function getTaxSet($id) { $taxSetEntity = $this->queryContainer->queryTaxSet($id)->findOne(); if ($taxSetEntity === null) { throw new ResourceNotFoundException(); } $taxSetTransfer = new TaxSetTransfer(); $taxSetTransfer->fromArray($taxSetEntity->toArray()); foreach ($taxSetEntity->getSpyTaxRates() as $taxRateEntity) { $taxRateTransfer = new TaxRateTransfer(); $taxRateTransfer->fromArray($taxRateEntity->toArray()); if ($taxRateEntity->getCountry()) { $countryTransfer = new CountryTransfer(); $countryTransfer->fromArray($taxRateEntity->getCountry()->toArray(), true); $taxRateTransfer->setCountry($countryTransfer); } $taxSetTransfer->addTaxRate($taxRateTransfer); } return $taxSetTransfer; }
/** * @return \Generated\Shared\Transfer\TaxSetTransfer */ private function createTaxSetTransfer() { $taxSetTransfer = new TaxSetTransfer(); $taxSetTransfer->setName(self::DUMMY_TAX_SET_NAME); return $taxSetTransfer; }