Completed
Push — master ( d50fea...78ee2d )
by Konstantin
13s
created

CustomField::set()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
3
namespace linkprofit\AmoCRM\entities;
4
5
use linkprofit\AmoCRM\traits\FieldList;
6
7
/**
8
 * Class CustomField
9
 * @package linkprofit\AmoCRM\entities
10
 */
11
class CustomField implements EntityInterface
12
{
13
    /**
14
     * @var integer Уникальный идентификатор заполняемого дополнительного поля
15
     */
16
    public $id;
17
18
    /**
19
     * @var string
20
     */
21
    public $name;
22
23
    /**
24
     * @var string
25
     */
26
    public $code;
27
28
    /**
29
     * @var bool Является ли дополнительное поле системным
30
     */
31
    public $is_system;
32
33
    /**
34
     * @var Value[]
35
     */
36
    protected $values = [];
37
38
    /**
39
     * @var array
40
     */
41
    protected $fieldList = [
42
        'id', 'name', 'code', 'is_system',
43
    ];
44
45
    use FieldList;
46
47
    /**
48
     * CustomField constructor.
49
     * @param $id
50
     * @param null $name
51
     * @param null $code
52
     */
53 32
    public function __construct($id, $name = null, $code = null)
54
    {
55 32
        $this->id = $id;
56 32
        $this->name = $name;
57 32
        $this->code = $code;
58 32
    }
59
60
    /**
61
     * @param Value $value
62
     */
63 31
    public function addValue(Value $value)
64
    {
65 31
        $this->values[] = $value;
66 31
    }
67
68
    /**
69
     * @return array
70
     */
71 29 View Code Duplication
    public function get()
72
    {
73 29
        $fields = $this->getExistedValues($this->fieldList);
74
75 29
        $values = [];
76 29
        foreach ($this->values as $value) {
77 28
            $values[] = $value->get();
78 29
        }
79
80 29
        if (count($values)) {
81 28
            $fields['values'] = $values;
82 28
        }
83
84 29
        return $fields;
85
    }
86
87
    /**
88
     * @param $array
89
     */
90 4
    public function set($array)
91
    {
92 4
        $this->setFromArray($this->fieldList, $array);
93
    }
94
}