Completed
Push — master ( bb2d64...78fd01 )
by Paweł
24s
created

OrderItemNamesSetter::__invoke()   B

Complexity

Conditions 5
Paths 5

Size

Total Lines 17
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 17
rs 8.8571
c 0
b 0
f 0
cc 5
eloc 8
nc 5
nop 1
1
<?php
2
3
/*
4
 * This file is part of the Sylius package.
5
 *
6
 * (c) Paweł Jędrzejewski
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace Sylius\Component\Core\Order;
15
16
use Sylius\Component\Core\Model\OrderInterface;
17
use Sylius\Component\Core\Model\OrderItemInterface;
18
19
final class OrderItemNamesSetter implements OrderItemNamesSetterInterface
20
{
21
    /**
22
     * @param OrderInterface $order
23
     */
24
    public function __invoke(OrderInterface $order): void
25
    {
26
        $localeCode = $order->getLocaleCode();
27
28
        /** @var OrderItemInterface $item */
29
        foreach ($order->getItems() as $item) {
30
            $variant = $item->getVariant();
31
32
            if (null !== $variant) {
33
                $item->setVariantName($variant->getTranslation($localeCode)->getName());
34
            }
35
36
            if (null !== $variant && null !== $variant->getProduct()) {
37
                $item->setProductName($variant->getProduct()->getTranslation($localeCode)->getName());
38
            }
39
        }
40
    }
41
}
42