Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Billing\Entity\Promotion;
- use Billing\Entity\DigitalContent\DigitalContentDrmEntity;
- use Billing\Entity\DigitalContent\DigitalContentInCartCollection;
- use Billing\Entity\DigitalContent\DigitalContentInCartEntity;
- use Billing\Storage\Metadata\EntityMetadata;
- use Billing\Strategy\DigitalContentPinCode\PinCodesCheckerStrategy;
- class PromotionRewardDigitalContentBonusEntity
- {
- protected $idRewardDigitalContentBonus;
- protected $idPromotion;
- protected $count;
- protected $idDigitalContentDrm;
- /** @var DigitalContentDrmEntity */
- protected $digitalContentDrm;
- /**
- * @var DigitalContentInCartCollection
- */
- protected $digitalContentInCartBonusCollection;
- /**
- * @var PinCodesCheckerStrategy
- */
- protected $pinCodesCheckerStrategy;
- public static function loadEntityMetadata(EntityMetadata $metadata)
- {
- $metadata->setTable('promotions.reward_digital_content_bonus');
- $metadata->setCollection('\Billing\Entity\Promotion\PromotionRewardDigitalContentBonusCollection');
- $metadata->createField(
- [
- 'name' => 'idRewardDigitalContentBonus',
- 'isPrimaryKey' => true,
- 'autoIncrement' => true
- ]
- );
- $metadata->createField(['name' => 'idPromotion']);
- $metadata->createField(
- [
- 'name' => 'digitalContentInCartBonusCollection',
- 'isSavable' => false,
- 'targetEntity' => DigitalContentInCartEntity::class,
- 'directMapping' => [
- 'storage' => 'DigitalContentInCartStorage',
- 'method' => 'createDigitalContentInCartBonusCollection',
- 'columns' => ['idDigitalContentDrm', 'count']
- ]
- ]
- );
- $metadata->createField(['name' => 'count']);
- $metadata->createField(['name' => 'idDigitalContentDrm']);
- $metadata->createField([
- 'name' => 'digitalContentDrm',
- 'columns' => ['idDigitalContentDrm'],
- 'targetEntity' => DigitalContentDrmEntity::class,
- 'directMapping' => [
- 'storage' => 'DigitalContentDrmStorage',
- 'method' => 'findOneByIdDigitalContentDrm',
- 'columns' => ['idDigitalContentDrm']
- ]
- ]);
- $metadata->createStrategy('pinCodesCheckerStrategy', 'createPinCodesCheckerStrategy');
- }
- /**
- * @return mixed
- */
- public function getIdRewardDigitalContentBonus()
- {
- return $this->idRewardDigitalContentBonus;
- }
- /**
- * @param mixed $idRewardDigitalContentBonus
- */
- public function setIdRewardDigitalContentBonus($idRewardDigitalContentBonus)
- {
- $this->idRewardDigitalContentBonus = $idRewardDigitalContentBonus;
- }
- /**
- * @return mixed
- */
- public function getIdPromotion()
- {
- return $this->idPromotion;
- }
- /**
- * @param mixed $idPromotion
- */
- public function setIdPromotion($idPromotion)
- {
- $this->idPromotion = $idPromotion;
- }
- /**
- * @return DigitalContentInCartCollection
- */
- public function getDigitalContentInCartBonusCollection()
- {
- return $this->digitalContentInCartBonusCollection;
- }
- /**
- * @param DigitalContentInCartCollection $digitalContentInCartBonusCollection
- */
- public function setDigitalContentInCartBonusCollection($digitalContentInCartBonusCollection)
- {
- $this->digitalContentInCartBonusCollection = $digitalContentInCartBonusCollection;
- }
- /**
- * @return bool
- */
- public function isActivePinCodesExists()
- {
- return $this->pinCodesCheckerStrategy->isActivePinCodesCountExists(
- $this->digitalContentInCartBonusCollection->first(),
- $this->count
- );
- }
- /**
- * @return bool
- */
- public function isPreOrder()
- {
- return $this->digitalContentDrm->getActualIsPreOrder();
- }
- /**
- * @return PinCodesCheckerStrategy
- */
- public function getPinCodesCheckerStrategy()
- {
- return $this->pinCodesCheckerStrategy;
- }
- /**
- * @param PinCodesCheckerStrategy $pinCodesCheckerStrategy
- */
- public function setPinCodesCheckerStrategy($pinCodesCheckerStrategy)
- {
- $this->pinCodesCheckerStrategy = $pinCodesCheckerStrategy;
- }
- /**
- * @return int
- */
- public function getCount()
- {
- return $this->count;
- }
- /**
- * @param int $count
- */
- public function setCount($count)
- {
- $this->count = $count;
- }
- /**
- * @return int
- */
- public function getIdDigitalContentDrm()
- {
- return $this->idDigitalContentDrm;
- }
- /**
- * @param int $idDigitalContentDrm
- */
- public function setIdDigitalContentDrm($idDigitalContentDrm)
- {
- $this->idDigitalContentDrm = $idDigitalContentDrm;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement