/** * @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; }
/** * @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; }