Newscoop\Services\SubscriptionService::apply PHP Метод

apply() приватный Метод

private apply ( Subscription $subscription, SubscriptionData $data )
$subscription Newscoop\Subscription\Subscription
$data Newscoop\Subscription\SubscriptionData
    private function apply(Subscription $subscription, SubscriptionData $data)
    {
        if ($data->userId) {
            $user = $this->em->getRepository('Newscoop\\Entity\\User')->getOneActiveUser($data->userId, false)->getOneOrNullResult();
            if ($user) {
                $subscription->setUser($user);
            }
        }
        if ($data->publicationId) {
            $publication = $this->em->getRepository('Newscoop\\Entity\\Publication')->findOneBy(array('id' => $data->publicationId));
            if ($publication) {
                $subscription->setPublication($publication);
            }
        }
        if ($data->toPay) {
            $subscription->setToPay($data->toPay);
        }
        if ($data->currency) {
            $subscription->setCurrency($data->currency);
        }
        if ($data->active) {
            $subscription->setActive($data->active);
        }
        if ($data->type) {
            $subscription->setType($data->type);
        }
        if ($data->sections) {
            $sectionsIds = array();
            foreach ($data->sections as $key => $section) {
                $subscription->addSection($section);
                $sectionsIds[] = $section->getId();
            }
            //Clean conncted sections list
            $subscription->setSections($sectionsIds);
        }
        if ($data->articles) {
            $articlesIds = array();
            foreach ($data->articles as $key => $article) {
                $subscription->addArticle($article);
                $articlesIds[] = $article->getId();
            }
            //Clean conncted sections list
            $subscription->setArticles($articlesIds);
        }
        if ($data->issues) {
            $issuesIds = array();
            foreach ($data->issues as $key => $issue) {
                $subscription->addIssue($issue);
                $issuesIds[] = $issue->getId();
            }
            //Clean conncted sections list
            $subscription->setIssues($issuesIds);
        }
        return $subscription;
    }