<?php

namespace OfficeBrain\Bundle\BlogBundle\Entity;

use Doctrine\ORM\EntityRepository;

/**
 * CommentRepository
 *
 * This class was generated by the Doctrine ORM. Add your own custom
 * repository methods below.
 */
class CommentRepository extends EntityRepository
{
    public function getCommentListAdmin($id = null)
    {
        
        if($id)
        {
           $query = $this->getEntityManager()->getRepository('OfficeBrainBlogBundle:Comment')->createQueryBuilder('c');
           $query->select('c') // select whole entity
                 ->where('c.commentIsDeleted = 0 AND c.commentPostId = '.$id)
                 ->orderBy('c.id', 'DESC');
                
           $record_set= $query->getQuery()->getResult(); 
           return $record_set;  
               
        }else{
           
           $query = $this->getEntityManager()->getRepository('OfficeBrainBlogBundle:Comment')->createQueryBuilder('c');
           $query->select('c') // select whole entity
                 ->where('c.commentIsDeleted = 0')
                 ->orderBy('c.id', 'DESC');
                
           $record_set= $query->getQuery()->getResult(); 
           return $record_set; 
            
        }     
         
    }
    
    public function getCommentList($id = null)
    {
        
        if($id)
        {
           $query = $this->getEntityManager()->getRepository('OfficeBrainBlogBundle:Comment')->createQueryBuilder('c');
           $query->select('c') // select whole entity
                 ->where('c.commentIsDeleted = 0 AND c.commentStatus = 1 AND c.commentParentId = 0 AND c.commentPostId = '.$id)
                 ->orderBy('c.id', 'DESC');
                
           $record_set= $query->getQuery()->getResult(); 
           return $record_set;  
               
        }else{
           
           $query = $this->getEntityManager()->getRepository('OfficeBrainBlogBundle:Comment')->createQueryBuilder('c');
           $query->select('c') // select whole entity
                 ->where('c.commentIsDeleted = 0')
                 ->orderBy('c.id', 'DESC');
                
           $record_set= $query->getQuery()->getResult(); 
           return $record_set; 
            
        }     
         
    }
    
    
    public function getChildCommentList($parent_id)
    {
        $query = $this->getEntityManager()->getRepository('OfficeBrainBlogBundle:Comment')->createQueryBuilder('c');
        $query 
                      ->select('c')
                      ->where('c.commentIsDeleted = :isdelete')
                      ->andWhere('c.commentStatus = :status')
                      ->andWhere('c.commentParentId = :parent_id')
                      ->setParameter('isdelete', 0)
                      ->setParameter('status', 1)
                      ->setParameter('parent_id', $parent_id)
                      ->orderBy('c.id', 'DESC');
                      
                   return $record_set=  $query->getQuery()->getResult();

      
    }
    
}
