Code Duplication    Length = 25-25 lines in 2 locations

src/Mappers/Inventory/Item/ActivityMapper.php 1 location

@@ 9-33 (lines=25) @@
6
use DateTime;
7
use Waredesk\Models\Inventory\Item\Activity;
8
9
class ActivityMapper extends Mapper
10
{
11
    public function map(Activity $activity, array $data): Activity
12
    {
13
        $finalData = [];
14
        foreach ($data as $key => $value) {
15
            switch ($key) {
16
                case 'date':
17
                    $finalData['date'] = new DateTime($value);
18
                    break;
19
                case 'creation':
20
                    $finalData['creation'] = new DateTime($value);
21
                    break;
22
                case 'modification':
23
                    $finalData['modification'] = new DateTime($value);
24
                    break;
25
                default:
26
                    $finalData[$key] = $value;
27
                    break;
28
            }
29
        }
30
        $activity->reset($finalData);
31
        return $activity;
32
    }
33
}
34

src/Mappers/Product/Variant/PriceMapper.php 1 location

@@ 9-33 (lines=25) @@
6
use Waredesk\Mapper;
7
use Waredesk\Models\Product\Variant\Price;
8
9
class PriceMapper extends Mapper
10
{
11
    public function map(Price $price, $data): Price
12
    {
13
        $finalData = [];
14
        foreach ($data as $key => $value) {
15
            switch ($key) {
16
                case 'price':
17
                    $finalData['price'] = (int)$value;
18
                    break;
19
                case 'creation':
20
                    $finalData['creation'] = new DateTime($value);
21
                    break;
22
                case 'modification':
23
                    $finalData['modification'] = new DateTime($value);
24
                    break;
25
                default:
26
                    $finalData[$key] = $value;
27
                    break;
28
            }
29
        }
30
        $price->reset($finalData);
31
        return $price;
32
    }
33
}
34