Completed
Pull Request — master (#30)
by nonanerz
05:26
created

FormRequestRepository   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 7
lcom 0
cbo 3
dl 0
loc 31
ccs 0
cts 24
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
C selectRequestFormsByParams() 0 28 7
1
<?php
2
3
namespace AppBundle\Repository;
4
5
use AppBundle\Entity\DTO\Filter;
6
7
/**
8
 * FormRequestRepository.
9
 *
10
 * This class was generated by the Doctrine ORM. Add your own custom
11
 * repository methods below.
12
 */
13
class FormRequestRepository extends \Doctrine\ORM\EntityRepository
14
{
15
    public function selectRequestFormsByParams(Filter $filter)
16
    {
17
        $query = $this->createQueryBuilder('f')
18
            ->leftJoin('f.user', 'u')
19
            ->orderBy('f.createdAt', 'DESC')
20
        ;
21
22
        if ($filter->type && $filter->type != 'All') {
23
            $query->andWhere('f.type = ?1')
24
                ->setParameter('1', $filter->type)
25
            ;
26
        }
27
28
        if ($filter->decision && $filter->decision != 'All') {
29
            $query->andWhere('f.status = ?2')
30
                ->setParameter('2', $filter->decision)
31
            ;
32
        }
33
34
        if ($filter->start && $filter->end) {
35
                $query->andWhere('f.createdAt BETWEEN ?3 AND ?4')
36
                    ->setParameter('3', $filter->getStart())
37
                    ->setParameter('4', $filter->getEnd())
38
                ;
39
        }
40
41
        return $query->getQuery();
42
    }
43
}
44