Periode.php 1.75 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
<?php

namespace Application\Service;

use Doctrine\ORM\QueryBuilder;


/**
 * Description of Periode
 *
 * @author Laurent LÉCLUSE <laurent.lecluse at unicaen.fr>
 */
13
class Periode extends AbstractEntityService
14
15
16
{

    /**
17
     * retourne la classe des entités
18
     *
19
20
     * @return string
     * @throws RuntimeException
21
     */
22
23
24
25
    public function getEntityClass()
    {
        return 'Application\Entity\Db\Periode';
    }
26
27

    /**
28
     * Retourne l'alias d'entité courante
29
     *
30
     * @return string
31
     */
32
33
    public function getAlias(){
        return 'per';
34
35
    }

36
37
38
39
40
41
    /**
     * Retourne la liste des périodes d'enseignement
     *
     * @param QueryBuilder|null $queryBuilder
     * @return QueryBuilder
     */
42
    public function finderByEnseignement( QueryBuilder $qb=null, $alias=null )
43
    {
44
45
        list($qb,$alias) = $this->initQuery($qb, $alias);
        $qb->andWhere("$alias.enseignement = 1");
46
47
        return $qb;
    }
48
49

    /**
50
     * Retourne la liste des périodes
51
     *
52
53
     * @param QueryBuilder|null $queryBuilder
     * @return Application\Entity\Db\Periode[]
54
     */
55
    public function getList( QueryBuilder $qb=null, $alias=null )
56
    {
57
58
59
        list($qb,$alias) = $this->initQuery($qb, $alias);
        $qb->orderBy("$alias.ordre");
        return parent::getList($qb, $alias);
60
    }
lecluse's avatar
lecluse committed
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80

    /**
     * Retourne le semestre 1
     *
     * @return \Application\Entity\Db\Periode
     */
    public function getSemestre1()
    {
        return $this->getRepo()->findOneBy(array('code' => PeriodeEntity::SEMESTRE_1));
    }

    /**
     * Retourne le semestre 2
     *
     * @return \Application\Entity\Db\Periode
     */
    public function getSemestre2()
    {
        return $this->getRepo()->findOneBy(array('code' => PeriodeEntity::SEMESTRE_2));
    }
81
}