<?php

namespace OfficeBrain\Bundle\RequestQuoteBundle\Entity;

use Doctrine\ORM\EntityRepository;

/**
 * RequestQuoteItemLineRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class RequestQuoteItemLineRepository extends EntityRepository
{

	private $request;
	
	/**
	 * To get the request object
	 */
	public function getRequestObj(){
		return $this->request;
	}
	
	/**
	 * To set the request object
	 */
	public function setRequestObj($request){
		$this->request=$request;
	}
	
	public function setProjectSetting($projectSetting)
	{
		$this->projectSetting = $projectSetting;
		$this->prepareProjectSettingData();
	}
	
	public function prepareProjectSettingData()
	{
		$this->userId = $this->projectSetting['user_id'];
		$this->createdUid = $this->upatedUid = $this->userId;
		$this->instanceId = $this->projectSetting['instance_id'];
		$this->instanceType = $this->projectSetting['instance_type'];
		$this->cultureId = $this->projectSetting['culture_id'];
	}
	
	/**
	 * @author Employee Id: 4217
	 *
	 * OB eCommerce Product - RequestQuote
	 *
	 * Function created for define a common querybuilder object
	 *
	 * @param integer $userId
	 *
	 * @return number
	 */
	public function getQueryBuilder()
	{
		return $this->getEntityManager()->getRepository('OfficeBrainRequestQuoteBundle:RequestQuoteItemLine')->createQueryBuilder('oit');
	}
	
	
	public function getAllAddedProductInOrder($reqId)
	{
		$queryBuilder = $this->getQueryBuilder();
		$queryBuilder->select('oit.id, oit.productId, oit.isComplete')
		->where('oit.requestQuoteMasterId  = :req_quote_id')
		->setParameter('req_quote_id', $reqId);
		return $queryBuilder->getQuery()->getResult();
	}
}
