Completed
Push — master ( c3c281...ab94e9 )
by Gabriel
03:37
created

PriceMapper::map()   C

Complexity

Conditions 8
Paths 8

Size

Total Lines 26
Code Lines 22

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 72

Importance

Changes 0
Metric Value
dl 0
loc 26
ccs 0
cts 21
cp 0
rs 5.3846
c 0
b 0
f 0
cc 8
eloc 22
nc 8
nop 2
crap 72
1
<?php
2
3
namespace Waredesk\Mappers\Product\Variant;
4
5
use DateTime;
6
use Waredesk\Models\Product\Variant\Option;
7
use Waredesk\Models\Product\Variant\Price;
8
9
class PriceMapper
10
{
11
    public function map(Price $price, $data): Price
12
    {
13
        foreach ($data as $key => $value) {
14
            switch ($key) {
15
                case 'id':
16
                    $price->setId((int)$value);
17
                    break;
18
                case 'price_list_id':
19
                    $price->setPriceListId((int)$value);
20
                    break;
21
                case 'currency':
22
                    $price->setCurrency($value);
23
                    break;
24
                case 'price':
25
                    $price->setPrice((int)$value);
26
                    break;
27
                case 'creation_datetime':
28
                    $price->setCreationDatetime(new DateTime($value));
29
                    break;
30
                case 'modification_datetime':
31
                    $price->setModificationDatetime(new DateTime($value));
32
                    break;
33
            }
34
        }
35
        return $price;
36
    }
37
}
38