Exemplo n.º 1
0
 /**
  * @param \Generated\Shared\Transfer\TaxRateTransfer $taxRateTransfer
  *
  * @throws \Spryker\Zed\Tax\Business\Model\Exception\ResourceNotFoundException
  *
  * @return \Orm\Zed\Tax\Persistence\SpyTaxRate
  */
 private function findOrCreateTaxRateEntity(TaxRateTransfer $taxRateTransfer)
 {
     if ($taxRateTransfer->getIdTaxRate()) {
         $taxRateEntity = $this->queryContainer->queryTaxRate($taxRateTransfer->getIdTaxRate())->findOne();
         if (!$taxRateEntity) {
             throw new ResourceNotFoundException();
         }
     } else {
         $taxRateEntity = $this->createTaxRateEntity($taxRateTransfer);
     }
     return $taxRateEntity;
 }
Exemplo n.º 2
0
 /**
  * @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;
 }
Exemplo n.º 3
0
 /**
  * @return void
  */
 public function testRemoveTaxRateFromTaxSet()
 {
     $taxRate1Transfer = $this->createTaxRateTransfer();
     $rate1Id = $this->taxFacade->createTaxRate($taxRate1Transfer)->getIdTaxRate();
     $taxRate2Transfer = new TaxRateTransfer();
     $taxRate2Transfer->setName(self::DUMMY_TAX_RATE2_NAME);
     $taxRate2Transfer->setRate(self::DUMMY_TAX_RATE2_PERCENTAGE);
     $rate2Id = $this->taxFacade->createTaxRate($taxRate2Transfer)->getIdTaxRate();
     $taxSetTransfer = $this->createTaxSetTransfer();
     $taxSetTransfer->addTaxRate($taxRate1Transfer);
     $taxSetTransfer->addTaxRate($taxRate2Transfer);
     $taxSetId = $this->taxFacade->createTaxSet($taxSetTransfer)->getIdTaxSet();
     $taxSetQuery = SpyTaxSetQuery::create()->filterByIdTaxSet($taxSetId);
     $taxSetEntity = $taxSetQuery->findOne();
     $this->assertCount(2, $taxSetEntity->getSpyTaxRates());
     $this->taxFacade->removeTaxRateFromTaxSet($taxSetId, $rate2Id);
     $taxSetEntity = $taxSetQuery->findOne();
     $this->assertCount(1, $taxSetEntity->getSpyTaxRates());
     $this->assertEquals($rate1Id, $taxSetEntity->getSpyTaxRates()[0]->getIdTaxRate());
 }