Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
GetList.php
Go to the documentation of this file.
1 <?php
6 declare(strict_types=1);
7 
9 
14 use Magento\Inventory\Model\ResourceModel\Source\CollectionFactory;
16 use Magento\InventoryApi\Api\Data\SourceSearchResultsInterfaceFactory;
17 
21 class GetList implements GetListInterface
22 {
26  private $collectionProcessor;
27 
31  private $sourceCollectionFactory;
32 
36  private $sourceSearchResultsFactory;
37 
41  private $searchCriteriaBuilder;
42 
49  public function __construct(
50  CollectionProcessorInterface $collectionProcessor,
51  CollectionFactory $sourceCollectionFactory,
52  SourceSearchResultsInterfaceFactory $sourceSearchResultsFactory,
53  SearchCriteriaBuilder $searchCriteriaBuilder
54  ) {
55  $this->collectionProcessor = $collectionProcessor;
56  $this->sourceCollectionFactory = $sourceCollectionFactory;
57  $this->sourceSearchResultsFactory = $sourceSearchResultsFactory;
58  $this->searchCriteriaBuilder = $searchCriteriaBuilder;
59  }
60 
65  {
67  $collection = $this->sourceCollectionFactory->create();
68 
69  if (null === $searchCriteria) {
70  $searchCriteria = $this->searchCriteriaBuilder->create();
71  } else {
72  $this->collectionProcessor->process($searchCriteria, $collection);
73  }
74 
76  $searchResult = $this->sourceSearchResultsFactory->create();
77  $searchResult->setItems($collection->getItems());
78  $searchResult->setTotalCount($collection->getSize());
79  $searchResult->setSearchCriteria($searchCriteria);
80  return $searchResult;
81  }
82 }
$searchCriteria
__construct(CollectionProcessorInterface $collectionProcessor, CollectionFactory $sourceCollectionFactory, SourceSearchResultsInterfaceFactory $sourceSearchResultsFactory, SearchCriteriaBuilder $searchCriteriaBuilder)
Definition: GetList.php:49
$searchCriteriaBuilder
execute(SearchCriteriaInterface $searchCriteria=null)