/** * {@inheritdoc} */ public function getList(\Magento\Framework\Api\SearchCriteria $searchCriteria) { $searchData = $this->searchResultsDataFactory->create(); $searchData->setSearchCriteria($searchCriteria); foreach ($searchCriteria->getFilterGroups() as $group) { $this->addFilterGroupToCollection($group, $this->quoteCollection); } $searchData->setTotalCount($this->quoteCollection->getSize()); $sortOrders = $searchCriteria->getSortOrders(); if ($sortOrders) { foreach ($sortOrders as $sortOrder) { $this->quoteCollection->addOrder($sortOrder->getField(), $sortOrder->getDirection() == SearchCriteria::SORT_ASC ? 'ASC' : 'DESC'); } } $this->quoteCollection->setCurPage($searchCriteria->getCurrentPage()); $this->quoteCollection->setPageSize($searchCriteria->getPageSize()); $searchData->setItems($this->quoteCollection->getItems()); return $searchData; }