PlayerRankUpdateHandler   A
last analyzed

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