Issues (104)

Model/Seller/SubSellerRegistry.php (1 issue)

Severity
1
<?php
2
/**
3
 * Copyright © Getnet. All rights reserved.
4
 *
5
 * @author    Bruno Elisei <[email protected]>
6
 * See LICENSE for license details.
7
 */
8
9
namespace Getnet\SubSellerMagento\Model\Seller;
10
11
use Getnet\SubSellerMagento\Model\Seller\SubSeller as SubSellerModel;
12
use Getnet\SubSellerMagento\Model\Seller\SubSellerFactory as SubSellerModelFactory;
13
use Magento\Framework\Exception\NoSuchEntityException;
14
15
class SubSellerRegistry
16
{
17
    /**
18
     * @var SubSellerModelFactory
19
     */
20
    private $subSellerModelFactory;
21
22
    /**
23
     * @var SubSellerModel[]
24
     */
25
    private $subSellerRegistryById = [];
26
27
    /**
28
     * Constructor.
29
     *
30
     * @param SubSellerModelFactory $sellerModelSubSellerFactory
31
     */
32
    public function __construct(
33
        SubSellerModelFactory $sellerModelSubSellerFactory
34
    ) {
35
        $this->subSellerModelFactory = $sellerModelSubSellerFactory;
36
    }
37
38
    /**
39
     * Register SubSeller Model to registry.
40
     *
41
     * @param SubSellerModel $subSellerModel
42
     *
43
     * @return void
44
     */
45
    public function registerSubSeller(SubSellerModel $subSellerModel)
46
    {
47
        $this->subSellerRegistryById[$subSellerModel->getId()] = $subSellerModel;
48
    }
49
50
    /**
51
     * Retrieve SubSeller Model from registry given an id.
52
     *
53
     * @param int $subSellerId
54
     *
55
     * @throws NoSuchEntityException
56
     *
57
     * @return SubSellerModel
58
     */
59
    public function retrieveSubSeller($subSellerId)
60
    {
61
        if (isset($this->subSellerRegistryById[$subSellerId])) {
62
            return $this->subSellerRegistryById[$subSellerId];
63
        }
64
        /** @var SubSellerModel $subSellerModel */
65
        $subSellerModel = $this->subSellerModelFactory->create()->load($subSellerId);
0 ignored issues
show
Deprecated Code introduced by
The function Magento\Framework\Model\AbstractModel::load() has been deprecated: 100.1.0 because entities must not be responsible for their own loading. Service contracts should persist entities. Use resource model "load" or collections to implement service contract model loading operations. ( Ignorable by Annotation )

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

65
        $subSellerModel = /** @scrutinizer ignore-deprecated */ $this->subSellerModelFactory->create()->load($subSellerId);

This function has been deprecated. The supplier of the function has supplied an explanatory message.

The explanatory message should give you some clue as to whether and when the function will be removed and what other function to use instead.

Loading history...
66
        if (!$subSellerModel->getId()) {
67
            // sub seller does not exist
68
            throw NoSuchEntityException::singleField('subSellerId', $subSellerId);
69
        }
70
        $this->subSellerRegistryById[$subSellerModel->getId()] = $subSellerModel;
71
72
        return $subSellerModel;
73
    }
74
75
    /**
76
     * Remove an instance of the SubSeller Model from the registry.
77
     *
78
     * @param int $subSellerId
79
     *
80
     * @return void
81
     */
82
    public function removeSubSeller($subSellerId)
83
    {
84
        unset($this->subSellerRegistryById[$subSellerId]);
85
    }
86
}
87