Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GetQuantityInformationPerSource.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
10 use Magento\Framework\Api\SearchCriteriaBuilderFactory;
14 
16 {
20  private $sourceItemRepository;
21 
25  private $searchCriteriaBuilderFactory;
26 
30  private $sourceRepository;
31 
37  public function __construct(
38  SourceItemRepositoryInterface $sourceItemRepository,
39  SearchCriteriaBuilderFactory $searchCriteriaBuilderFactory,
40  SourceRepositoryInterface $sourceRepository
41  ) {
42  $this->sourceItemRepository = $sourceItemRepository;
43  $this->searchCriteriaBuilderFactory = $searchCriteriaBuilderFactory;
44  $this->sourceRepository = $sourceRepository;
45  }
46 
52  public function execute(string $sku): array
53  {
54  $sourceItemsInformation = [];
55 
56  $searchCriteriaBuilder = $this->searchCriteriaBuilderFactory->create();
58  $sourceItems = $this->sourceItemRepository->getList($searchCriteria)->getItems();
59 
60  foreach ($sourceItems as $sourceItem) {
61  $source = $this->sourceRepository->get($sourceItem->getSourceCode());
62 
63  $sourceItemsInformation[] = [
65  'quantity_per_source' => $sourceItem->getQuantity(),
66  'source' => $source->getName(),
68  ];
69  }
70 
71  return $sourceItemsInformation;
72  }
73 }
$source
Definition: source.php:23
$searchCriteria
$sourceItems
$searchCriteriaBuilder
__construct(SourceItemRepositoryInterface $sourceItemRepository, SearchCriteriaBuilderFactory $searchCriteriaBuilderFactory, SourceRepositoryInterface $sourceRepository)
$sourceRepository
Definition: source.php:20
$sourceItemRepository