<?php

namespace OfficeBrain\Bundle\ProductBundle\Entity;

use Doctrine\ORM\EntityRepository;
use OfficeBrain\Bundle\ProductBundle\Entity\RelatedProduct;

/**
 * RelatedProductRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class RelatedProductRepository extends EntityRepository
{
	
	public function insertRelatedProduct(RelatedProduct $relatedProduct)
	{	
    	$em = $this->getEntityManager();
		$em->persist($relatedProduct);
		$em->flush();
	}
	
	public function deleteRelatedProduct(RelatedProduct $relatedProduct)
	{	
    	$em = $this->getEntityManager();
		$em->remove($relatedProduct);
		$em->flush();
	}
	
	public function areProductsAlreadyRelated($productId, $relatedProductId, $culture)
	{
		$qb = $this->createQueryBuilder('rp');
		
		$query = $qb->select('rp')
		->where($qb->expr()->andX($qb->expr()->eq('rp.productId', ':productId'), $qb->expr()->eq('rp.relatedProductId', ':relatedProductId'), $qb->expr()->eq('rp.culture', ':culture')))
		->setParameter('productId',$productId)
		->setParameter('relatedProductId',$relatedProductId)
		->setParameter('culture',$culture)
    	->getQuery();
		
		$result = $query->getResult();
		return $result;
	}
	public function getreletedProductId($productId)
	{ 
		$qb = $this->createQueryBuilder('rp');
		$query = $qb->select('rp.relatedProductId,rp.culture')
		->where($qb->expr()->eq('rp.productId', ':productId'))
		->setParameter('productId',$productId)
		->getQuery();
		$result = $query->getResult();
		return $result;
	}
	
}
