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

PlayerRankUpdateHandler::majRankPointGame()   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 PlayerRankUpdateHandler extends AbstractRankUpdateHandler
9
{
10
    public function majRank(): void
11
    {
12
        $this->majRankPointChart();
13
        $this->majRankPointGame();
14
        $this->majRankMedal();
15
        $this->majRankCup();
16
    }
17
18
    public function majRankPointChart(): void
19
    {
20
        $players = $this->getPlayerRepository()->findBy(array(), array('pointChart' => 'DESC'));
21
        Ranking::addObjectRank($players);
22
        $this->em->flush();
23
    }
24
25
    public function majRankPointGame(): void
26
    {
27
        $players = $this->getPlayerRepository()->findBy(array(), array('pointGame' => 'DESC'));
28
        Ranking::addObjectRank($players, 'rankPointGame', array('pointGame'));
29
        $this->em->flush();
30
    }
31
32
    public function majRankMedal(): void
33
    {
34
        $players = $this->getPlayerRepository()->findBy(array(), array('chartRank0' => 'DESC', 'chartRank1' => 'DESC', 'chartRank2' => 'DESC', 'chartRank3' => 'DESC'));
35
        Ranking::addObjectRank($players, 'rankMedal', array('chartRank0', 'chartRank1', 'chartRank2', 'chartRank3'));
36
        $this->em->flush();
37
    }
38
39
    public function majRankCup(): void
40
    {
41
        $players = $this->getPlayerRepository()->findBy(array(), array('gameRank0' => 'DESC', 'gameRank1' => 'DESC', 'gameRank2' => 'DESC', 'gameRank3' => 'DESC'));
42
        Ranking::addObjectRank($players, 'rankCup', array('gameRank0', 'gameRank1', 'gameRank2', 'gameRank3'));
43
        $this->em->flush();
44
    }
45
46
    public function majRankProof(): void
47
    {
48
        $players = $this->getPlayerRepository()->findBy(array(), array('nbChartProven' => 'DESC'));
49
        Ranking::addObjectRank($players, 'rankProof', array('nbChartProven'));
50
        $this->em->flush();
51
    }
52
53
    public function majRankBadge(): void
54
    {
55
        $players = $this->getPlayerRepository()->findBy(array(), array('pointBadge' => 'DESC', 'nbMasterBadge' => 'DESC'));
56
        Ranking::addObjectRank($players, 'rankBadge', array('pointBadge', 'nbMasterBadge'));
57
        $this->em->flush();
58
    }
59
60
    private function getPlayerRepository(): EntityRepository
61
    {
62
        return $this->em->getRepository('VideoGamesRecords\CoreBundle\Entity\Player');
63
    }
64
}
65