Code Duplication    Length = 32-37 lines in 2 locations

src/TreeGen/PlayOffCompetitorTreeGen.php 1 location

@@ 11-47 (lines=37) @@
8
use Xoco70\LaravelTournaments\Models\FightersGroup;
9
use Xoco70\LaravelTournaments\Traits\hasCompetitorsTrait;
10
11
class PlayOffCompetitorTreeGen extends PlayOffTreeGen
12
{
13
14
    use hasCompetitorsTrait;
15
16
    /**
17
     * @param FightersGroup $group
18
     * @param $fighters
19
     *
20
     * @return FightersGroup
21
     */
22
    public function syncGroup(FightersGroup $group, $fighters)
23
    {
24
        // Add all competitors to Pivot Table
25
        return $group->syncCompetitors($fighters);
26
    }
27
28
29
    /**
30
     * @param FightersGroup $group
31
     * @param $competitor
32
     * @param $fighterToUpdate
33
     * Common to All Playoff and singleElim
34
     */
35
    protected function addFighterToGroup(FightersGroup $group, $competitor, $fighterToUpdate)
36
    {
37
        // fighterToUpdate is coming at format c1, c2, c3 etc.
38
        $numFighterToUpdate = substr($fighterToUpdate, 1);
39
        $competitorGroup = FighterGroupCompetitor::where('fighters_group_id', $group->id)
40
            ->get()
41
            ->get($numFighterToUpdate - 1);
42
43
        // we must update the right result
44
        $competitorGroup->competitor_id = $competitor->id;
45
        $competitorGroup->save();
46
    }
47
}
48

src/TreeGen/SingleEliminationCompetitorTreeGen.php 1 location

@@ 11-42 (lines=32) @@
8
use Xoco70\LaravelTournaments\Models\FightersGroup;
9
use Xoco70\LaravelTournaments\Traits\hasCompetitorsTrait;
10
11
class SingleEliminationCompetitorTreeGen extends SingleEliminationTreeGen
12
{
13
    use hasCompetitorsTrait;
14
15
    /**
16
     * @param $group
17
     * @param $fighters
18
     */
19
    public function syncGroup(FightersGroup $group, $fighters)
20
    {
21
        return $group->syncCompetitors($fighters);
22
    }
23
24
25
    /**
26
     * @param FightersGroup $group
27
     * @param $competitor
28
     * @param $fighterToUpdate
29
     */
30
    protected function addFighterToGroup(FightersGroup $group, $competitor, $fighterToUpdate)
31
    {
32
        // fighterToUpdate is coming at format c1, c2, c3 etc.
33
        $numFighterToUpdate = substr($fighterToUpdate, 1);
34
        $competitorGroup = FighterGroupCompetitor::where('fighters_group_id', $group->id)
35
            ->get()
36
            ->get($numFighterToUpdate - 1);
37
38
        // we must update the right result
39
        $competitorGroup->competitor_id = $competitor->id;
40
        $competitorGroup->save();
41
    }
42
}
43