Passed
Push — develop ( 0240e9...c67e1d )
by BENARD
04:28
created

TeamRankUpdateHandler::majRankPointChart()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 3
c 1
b 0
f 0
dl 0
loc 5
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace VideoGamesRecords\CoreBundle\Ranking\Command\RankUpdate;
4
5
use Doctrine\ORM\EntityRepository;
6
use VideoGamesRecords\CoreBundle\Tools\Ranking;
7
8
class TeamRankUpdateHandler extends AbstractRankUpdateHandler
9
{
10
    public function majRank(): void
11
    {
12
        $this->majRankPointChart();
13
        $this->majRankPointGame();
14
        $this->majRankMedal();
15
        $this->majRankCup();
16
        $this->majRankBadge();
17
    }
18
19
    public function majRankPointChart(): void
20
    {
21
        $teams = $this->getTeamRepository()->findBy(array(), array('pointChart' => 'DESC'));
22
        Ranking::addObjectRank($teams);
23
        $this->em->flush();
24
    }
25
26
    public function majRankPointGame(): void
27
    {
28
        $teams = $this->getTeamRepository()->findBy(array(), array('pointGame' => 'DESC'));
29
        Ranking::addObjectRank($teams, 'rankPointGame', array('pointGame'));
30
        $this->em->flush();
31
    }
32
33
    public function majRankMedal(): void
34
    {
35
        $teams = $this->getTeamRepository()->findBy(array(), array('chartRank0' => 'DESC', 'chartRank1' => 'DESC', 'chartRank2' => 'DESC', 'chartRank3' => 'DESC'));
36
        Ranking::addObjectRank($teams, 'rankMedal', array('chartRank0', 'chartRank1', 'chartRank2', 'chartRank3'));
37
        $this->em->flush();
38
    }
39
40
    public function majRankCup(): void
41
    {
42
        $teams = $this->getTeamRepository()->findBy(array(), array('gameRank0' => 'DESC', 'gameRank1' => 'DESC', 'gameRank2' => 'DESC', 'gameRank3' => 'DESC'));
43
        Ranking::addObjectRank($teams, 'rankCup', array('gameRank0', 'gameRank1', 'gameRank2', 'gameRank3'));
44
        $this->em->flush();
45
    }
46
47
    public function majRankBadge(): void
48
    {
49
        $teams = $this->getTeamRepository()->findBy(array(), array('pointBadge' => 'DESC', 'nbMasterBadge' => 'DESC'));
50
        Ranking::addObjectRank($teams, 'rankBadge', array('pointBadge', 'nbMasterBadge'));
51
        $this->em->flush();
52
    }
53
54
55
    public function majRankProof(): void
56
    {
57
        // TODO: Implement majRankProof() method.
58
    }
59
60
    private function getTeamRepository(): EntityRepository
61
    {
62
        return $this->em->getRepository('VideoGamesRecords\CoreBundle\Entity\Team');
63
    }
64
65
}
66