Elcodi\Fixtures\DataFixtures\ORM\Coupon\CouponData::load PHP Method

load() public method

{@inheritDoc}
public load ( Doctrine\Common\Persistence\ObjectManager $manager )
$manager Doctrine\Common\Persistence\ObjectManager
    public function load(ObjectManager $manager)
    {
        /**
         * @var CouponFactory     $couponFactory
         * @var CurrencyInterface $currencyDollar
         * @var CurrencyInterface $currencyEuro
         */
        $couponFactory = $this->getFactory('coupon');
        $currencyDollar = $this->getReference('currency-USD');
        $currencyEuro = $this->getReference('currency-EUR');
        /**
         * Coupon with 12% of discount
         *
         * Valid from now, no expiration time
         *
         * Customer only can redeem it 5 times in all life
         *
         * @var CouponInterface $couponPercent
         */
        $couponPercent = $couponFactory->create();
        $couponPercent->setCode('percent')->setName('12 percent discount')->setType(ElcodiCouponTypes::TYPE_PERCENT)->setDiscount(12)->setCount(5)->setEnabled(true);
        $manager->persist($couponPercent);
        $this->addReference('coupon-percent', $couponPercent);
        /**
         * Coupon with 5 euros of discount
         *
         * Valid from now, no expiration time
         *
         * Can be redeemed many times
         *
         * @var CouponInterface $couponAmountEuro
         */
        $couponAmountEuro = $couponFactory->create();
        $couponAmountEuro->setCode('5euros')->setName('5 euros discount')->setType(ElcodiCouponTypes::TYPE_AMOUNT)->setPrice(Money::create(500, $currencyEuro))->setEnabled(true);
        $manager->persist($couponAmountEuro);
        $this->addReference('coupon-amount-euro', $couponAmountEuro);
        /**
         * Coupon with 5 euros of discount
         *
         * Valid from now, no expiration time
         *
         * Only 20 available
         *
         * @var CouponInterface $couponAmountDollar
         */
        $couponAmountDollar = $couponFactory->create();
        $couponAmountDollar->setCode('10dollars')->setName('10 dollars discount')->setType(ElcodiCouponTypes::TYPE_AMOUNT)->setPrice(Money::create(1000, $currencyDollar))->setCount(20)->setEnabled(true);
        $manager->persist($couponAmountDollar);
        $this->addReference('coupon-amount-dollar', $couponAmountDollar);
        /**
         * Automatic coupon applies 50% to big spenders
         *
         * Valid from now, no expiration time
         *
         * @var CouponInterface $couponBigSpenders
         */
        $couponBigSpenders = $couponFactory->create();
        /**
         * @var RuleInterface $ruleBigSpenders
         */
        $ruleBigSpenders = $this->getReference('rule-big-spender');
        $couponBigSpenders->setCode('bigspender')->setName('50% discount')->setType(ElcodiCouponTypes::TYPE_PERCENT)->setDiscount(50)->setRule($ruleBigSpenders)->setEnforcement(ElcodiCouponTypes::ENFORCEMENT_AUTOMATIC)->setEnabled(true);
        $manager->persist($couponBigSpenders);
        $this->addReference('coupon-big-spender', $couponBigSpenders);
        $manager->flush();
    }