Completed
Push — master ( 5214c7...d85020 )
by Julien
02:34
created

PreliminaryFight   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 58
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 8
lcom 1
cbo 1
dl 0
loc 58
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
B saveFights() 0 30 5
A saveFight() 0 11 3
1
<?php
2
3
namespace Xoco70\KendoTournaments\Models;
4
5
use Illuminate\Database\Eloquent\Model;
6
use Illuminate\Support\Collection;
7
8
class PreliminaryFight extends Fight
9
{
10
    /**
11
     * Save a Fight.
12
     *
13
     * @param Collection $groups
14
     * @param int $numGroup
15
     */
16
    public static function saveFights($groups, $numGroup = 1)
17
    {
18
        $competitor1 = $competitor2 = null;
19
        $order = 1;
20
21
        foreach ($groups as $group) {
22
23
            $fighters = $group->getFighters();
24
25
            $fighter1 = $fighters->get(0);
26
            $fighter2 = $fighters->get(1);
27
            $fighter3 = $fighters->get(2);
28
29
            switch ($numGroup) {
30
                case 1:
31
                    $competitor1 = $fighter1;
32
                    $competitor2 = $fighter2;
33
                    break;
34
                case 2:
35
                    $competitor1 = $fighter2;
36
                    $competitor2 = $fighter3;
37
                    break;
38
                case 3:
39
                    $competitor1 = $fighter3;
40
                    $competitor2 = $fighter1;
41
                    break;
42
            }
43
            $order = self::saveFight($group, $competitor1, $competitor2, $order);
44
        }
45
    }
46
47
    /**
48
     * @param $group
49
     * @param $competitor1
50
     * @param $competitor2
51
     * @param $order
52
     * @return mixed
53
     */
54
    private static function saveFight($group, $competitor1, $competitor2, $order)
55
    {
56
        $fight = new Fight();
57
        $fight->fighters_group_id = $group->id;
58
        $fight->c1 = $competitor1 != null ? $competitor1->id : null;
59
        $fight->c2 = $competitor2 != null ? $competitor2->id : null;
60
        $fight->short_id = $order++;
61
        $fight->area = $group->area;
62
        $fight->save();
63
        return $order;
64
    }
65
}