Example #1
0
 /**
  * {@inheritdoc}
  */
 public function getCartList(SearchCriteria $searchCriteria)
 {
     $this->searchResultsBuilder->setSearchCriteria($searchCriteria);
     foreach ($searchCriteria->getFilterGroups() as $group) {
         $this->addFilterGroupToCollection($group, $this->quoteCollection);
     }
     $this->searchResultsBuilder->setTotalCount($this->quoteCollection->getSize());
     $sortOrders = $searchCriteria->getSortOrders();
     if ($sortOrders) {
         foreach ($sortOrders as $field => $direction) {
             $this->quoteCollection->addOrder($this->getQuoteSearchField($field), $direction == SearchCriteria::SORT_ASC ? 'ASC' : 'DESC');
         }
     }
     $this->quoteCollection->setCurPage($searchCriteria->getCurrentPage());
     $this->quoteCollection->setPageSize($searchCriteria->getPageSize());
     $cartList = [];
     /** @var Quote $quote */
     foreach ($this->quoteCollection as $quote) {
         $cartList[] = $this->createCartDataObject($quote);
     }
     $this->searchResultsBuilder->setItems($cartList);
     return $this->searchResultsBuilder->create();
 }