示例#1
0
文件: TaxWriter.php 项目: spryker/Tax
 /**
  * @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();
 }
示例#2
0
文件: TaxReader.php 项目: spryker/Tax
 /**
  * @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;
 }
示例#3
0
 /**
  * @return \Generated\Shared\Transfer\TaxSetTransfer
  */
 private function createTaxSetTransfer()
 {
     $taxSetTransfer = new TaxSetTransfer();
     $taxSetTransfer->setName(self::DUMMY_TAX_SET_NAME);
     return $taxSetTransfer;
 }