<?php

namespace OfficeBrain\Bundle\PageBundle\Entity;

/**
 * NewsletterRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class NewsletterRepository extends \Doctrine\ORM\EntityRepository
{
	protected $projectSetting;
	protected $instanceId;
	protected $projectId;
	
	/**
	 *
	 * Description : Insert NewsLetter Email
	 *
	 * @param $email
	 *
	 * @throws Exception: Null
	 */
	
	public function insertEmail($email,$instanceId)
	{
		$em = $this->getEntityManager();
		$newsletter=new Newsletter();
		$newsletter->setEmail($email);
		$newsletter->setInstanceId($instanceId);
		$em->persist($newsletter);
		$em->flush();
		$newsletterId=$newsletter->getId();
		return $newsletterId;
	}
	
	/**
	 *
	 * Description : Insert NewsLetter Email
	 *
	 * @param $email
	 *
	 * @throws Exception: Null
	 */
	
	public function findByEmail($email,$instanceId)
	{
	    return $this->createQueryBuilder('nl')
	    ->select('nl')
	    ->where('nl.email = :email')
	    ->andWhere('nl.deletedAt IS NULL')
	    ->setParameter(':email', $email)
	    ->getQuery()
	    ->getOneOrNullResult();
	}
}
