Issues (3641)

Spryker/Zed/Sales/Business/Order/OrderReader.php (1 issue)

1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace Spryker\Zed\Sales\Business\Order;
9
10
use Generated\Shared\Transfer\LocaleTransfer;
11
use Generated\Shared\Transfer\OrderTransfer;
12
use Orm\Zed\Sales\Persistence\SpySalesOrder;
13
use Spryker\Zed\Sales\Business\Model\Order\OrderReader as OrderReaderWithoutMultiShippingAddress;
14
15
class OrderReader extends OrderReaderWithoutMultiShippingAddress
0 ignored issues
show
Deprecated Code introduced by
The class Spryker\Zed\Sales\Business\Model\Order\OrderReader has been deprecated: Use {@link \Spryker\Zed\Sales\Business\Order\OrderReader} instead. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

15
class OrderReader extends /** @scrutinizer ignore-deprecated */ OrderReaderWithoutMultiShippingAddress
Loading history...
16
{
17
    /**
18
     * @param int $idSalesOrder
19
     *
20
     * @return \Generated\Shared\Transfer\OrderTransfer|null
21
     */
22
    public function findOrderByIdSalesOrder(int $idSalesOrder): ?OrderTransfer
23
    {
24
        $orderEntity = $this->queryContainer
25
            ->querySalesOrderDetailsWithoutShippingAddress($idSalesOrder)
26
            ->leftJoinWithLocale()
27
            ->findOne();
28
29
        if ($orderEntity === null) {
30
            return null;
31
        }
32
33
        $orderTransfer = $this->orderHydrator
34
            ->hydrateOrderTransferFromPersistenceBySalesOrder($orderEntity);
35
36
        $orderTransfer = $this->expandWithLocale($orderTransfer, $orderEntity);
37
38
        return $orderTransfer;
39
    }
40
41
    /**
42
     * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
43
     * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
44
     *
45
     * @return \Generated\Shared\Transfer\OrderTransfer
46
     */
47
    protected function expandWithLocale(OrderTransfer $orderTransfer, SpySalesOrder $orderEntity): OrderTransfer
48
    {
49
        if (!$orderEntity->getLocale()) {
50
            return $orderTransfer;
51
        }
52
        $localeTransfer = (new LocaleTransfer())
53
            ->fromArray($orderEntity->getLocale()->toArray(), true);
54
55
        return $orderTransfer->setLocale($localeTransfer);
56
    }
57
}
58