<?php

namespace OfficeBrain\CustomBundle\ServiceGroupBundle\Manager\AbstractManager;

abstract class CouponUsersAbstract
{
    protected $entityManager;
    protected $request;
    protected $projectSetting;
    protected $paginatorManager;
    protected $recordsPerPage;
    protected $countries;
    protected $languages;
    protected $userManager;
    protected $emailService;

    public function __construct($entityManager, $request, $paginatorManager, $countries, $languages, $userManager, $emailService)
    {
        $this->entityManager = $entityManager;
        $this->request = $request;
        $this->projectSetting = $this->request->get('project_setting');
        $this->paginatorManager = $paginatorManager;
        $this->recordsPerPage = $this->projectSetting['configuration_rule']['site_management']['option']['cms']['option']['cms_page_record_per_page']['status'];
        $this->countries = $countries;
        $this->languages = $languages;
        $this->couponUsersRepository = $this->entityManager->getRepository('OfficeBrainCustomBundleServiceGroupBundle:CouponUsers');
        $this->couponUsersRepository->setProjectSetting($this->projectSetting);
        
        $this->promoCouponRepository = $this->entityManager->getRepository('OfficeBrainCustomBundleServiceGroupBundle:PromoCoupon');
        $this->promoCouponRepository->setProjectSetting($this->projectSetting);

        $this->userManager = $userManager;
        $this->emailService = $emailService;
    }

    public function __destruct()
    {
        unset($this->entityManager);
        unset($this->request);
        unset($this->projectSetting);
        unset($this->countries);
        unset($this->languages);
        unset($this->couponUsersRepository);
        unset($this->userManager);
        unset($this->emailService);
    }

    public function getBlankObject()
    {
    }
}
