Passed
Push — develop ( c67e1d...954e7b )
by BENARD
04:26
created

PlayerRankUpdateHandler   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 7
eloc 20
c 1
b 0
f 0
dl 0
loc 47
rs 10

7 Methods

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