/**
  * @param int $idDiscount
  *
  * @return \Generated\Shared\Transfer\DiscountConfiguratorTransfer
  */
 public function getByIdDiscount($idDiscount)
 {
     $discountEntity = $this->discountQueryContainer->queryDiscount()->findOneByIdDiscount($idDiscount);
     $discountConfigurator = $this->createDiscountConfiguratorTransfer();
     $discountGeneralTransfer = $this->hydrateGeneralDiscount($discountEntity);
     $discountConfigurator->setDiscountGeneral($discountGeneralTransfer);
     $discountCalculatorTransfer = $this->hydrateDiscountCalculator($discountEntity);
     $discountConfigurator->setDiscountCalculator($discountCalculatorTransfer);
     $discountConditionTransfer = $this->hydrateDiscountCondition($discountEntity);
     $discountConfigurator->setDiscountCondition($discountConditionTransfer);
     $this->hydrateDiscountVoucher($idDiscount, $discountEntity, $discountConfigurator);
     return $discountConfigurator;
 }
Ejemplo n.º 2
0
 /**
  * @param int $idDiscount
  * @param bool $isActive
  *
  * @throws \Spryker\Zed\Discount\Business\Exception\PersistenceException
  *
  * @return bool
  */
 public function toggleDiscountVisibility($idDiscount, $isActive = false)
 {
     $discountEntity = $this->discountQueryContainer->queryDiscount()->findOneByIdDiscount($idDiscount);
     if (!$discountEntity) {
         throw new PersistenceException(sprintf('Discount with id "%d" not found in database.', $idDiscount));
     }
     $discountEntity->setIsActive($isActive);
     $affectedRows = $discountEntity->save();
     return $affectedRows > 0;
 }