<?php

namespace OfficeBrain\Bundle\ThemeBundle\Entity;

use Doctrine\ORM\EntityRepository;

/**
 * @author OfficeBrain 4273 <info@officebrain.com>
 * @author OfficeBrain 4494 <info@officebrain.com>
 * 
 */


/**
 * ThemeMasterRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class ThemeMasterRepository extends EntityRepository
{
	public function set($themeMaster)
	{
		$this->_em->persist($themeMaster);
		$this->_em->flush();

		return $themeMaster->getId();
	}

	public function add($theme)
	{
		$themeMaster = new ThemeMaster();
		
		$themeMaster->setThemeName($theme['themeName']);
		$themeMaster->setThemeType($theme['themeType']);
		$themeMaster->setCreatedAt(new \DateTime());
		$themeMaster->setUpdatedAt(new \DateTime());

		return $this->set($themeMaster);
	}

	public function find($id, $lockMode = NULL, $lockVersion = NULL)
	{
		return $this->createQueryBuilder('tm')
				->select('tm')
				->where('tm.id = :id')
				->setParameter(':id', $id)
				->getQuery()
				->getSingleResult();
	}
	
	public function delete($id)
	{
		$themeMaster = $this->find($id);
		
		$themeMaster->setDeletedAt(new \DateTime());
		return $this->set($themeMaster);
	}
}
