/** * Find entities by criteria * * @param \Magento\Framework\Api\SearchCriteria $searchCriteria * @return \Magento\Sales\Api\Data\InvoiceInterface[] */ public function getList(\Magento\Framework\Api\SearchCriteria $searchCriteria) { /** @var \Magento\Sales\Model\ResourceModel\Order\Invoice\Collection $collection */ $collection = $this->searchResultFactory->create(); foreach ($searchCriteria->getFilterGroups() as $filterGroup) { foreach ($filterGroup->getFilters() as $filter) { $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq'; $collection->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]); } } $collection->setCurPage($searchCriteria->getCurrentPage()); $collection->setPageSize($searchCriteria->getPageSize()); return $collection; }
/** * Lists payment tokens that match specified search criteria. * * @param \Magento\Framework\Api\SearchCriteria $searchCriteria The search criteria. * @return \Magento\Vault\Api\Data\PaymentTokenSearchResultsInterface Payment token search result interface. */ public function getList(\Magento\Framework\Api\SearchCriteria $searchCriteria) { /** @var \Magento\Vault\Model\ResourceModel\PaymentToken\Collection $collection */ $collection = $this->collectionFactory->create(); /** @var FilterGroup $group */ foreach ($searchCriteria->getFilterGroups() as $group) { $this->addFilterGroupToCollection($group, $collection); } /** @var \Magento\Vault\Api\Data\PaymentTokenSearchResultsInterface $searchResults */ $searchResults = $this->searchResultsFactory->create(); $searchResults->setSearchCriteria($searchCriteria); $searchResults->setItems($collection->getItems()); return $searchResults; }
/** * Find order addresses by criteria. * * @param \Magento\Framework\Api\SearchCriteria $criteria * @return \Magento\Sales\Api\Data\OrderAddressInterface[] */ public function getList(\Magento\Framework\Api\SearchCriteria $criteria) { //@TODO: fix search logic /** @var \Magento\Sales\Api\Data\OrderAddressSearchResultInterface $searchResult */ $searchResult = $this->searchResultFactory->create(); foreach ($criteria->getFilterGroups() as $filterGroup) { foreach ($filterGroup->getFilters() as $filter) { $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq'; $searchResult->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]); } } $searchResult->setCurPage($criteria->getCurrentPage()); $searchResult->setPageSize($criteria->getPageSize()); return $searchResult; }
/** * Find entities by criteria * * @param \Magento\Framework\Api\SearchCriteria $searchCriteria * @return \Magento\Sales\Api\Data\ShipmentItemInterface[] */ public function getList(\Magento\Framework\Api\SearchCriteria $searchCriteria) { $collection = $this->shipmentItemInterfaceSearchResultFactory->create(); $this->extensionAttributesJoinProcessor->process($collection); foreach ($searchCriteria->getFilterGroups() as $filterGroup) { foreach ($filterGroup->getFilters() as $filter) { $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq'; $collection->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]); } } $collection->setCurPage($searchCriteria->getCurrentPage()); $collection->setPageSize($searchCriteria->getPageSize()); return $collection; }
/** * {@inheritdoc} */ public function getList(\Magento\Framework\Api\SearchCriteria $searchCriteria) { /** @var TransactionResource\Collection $collection */ $collection = $this->searchResultFactory->create(); foreach ($searchCriteria->getFilterGroups() as $filterGroup) { foreach ($filterGroup->getFilters() as $filter) { $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq'; $collection->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]); } } $collection->setCurPage($searchCriteria->getCurrentPage()); $collection->setPageSize($searchCriteria->getPageSize()); $collection->addPaymentInformation(['method']); $collection->addOrderInformation(['increment_id']); return $collection; }
/** * Find entities by criteria * * @param \Magento\Framework\Api\SearchCriteria $criteria * @return Transaction[] */ public function find(\Magento\Framework\Api\SearchCriteria $criteria) { /** @var TransactionResource\Collection $collection */ $collection = $this->transactionCollectionFactory->create(); foreach ($criteria->getFilterGroups() as $filterGroup) { foreach ($filterGroup->getFilters() as $filter) { $condition = $filter->getConditionType() ? $filter->getConditionType() : 'eq'; $collection->addFieldToFilter($filter->getField(), [$condition => $filter->getValue()]); } } $collection->setCurPage($criteria->getCurrentPage()); $collection->setPageSize($criteria->getPageSize()); $collection->addPaymentInformation(['method']); $collection->addOrderInformation(['increment_id']); foreach ($collection as $object) { $this->register($object); } $objectIds = $collection->getAllIds(); return array_intersect_key($this->registry, array_flip($objectIds)); }
/** * Find entities by criteria * * @param \Magento\Framework\Api\SearchCriteria $searchCriteria * @return OrderInterface[] */ public function getList(\Magento\Framework\Api\SearchCriteria $searchCriteria) { /** @var \Magento\Sales\Api\Data\OrderSearchResultInterface $searchResult */ $searchResult = $this->searchResultFactory->create(); foreach ($searchCriteria->getFilterGroups() as $filterGroup) { $this->addFilterGroupToCollection($filterGroup, $searchResult); } $sortOrders = $searchCriteria->getSortOrders(); if ($sortOrders === null) { $sortOrders = []; } /** @var \Magento\Framework\Api\SortOrder $sortOrder */ foreach ($sortOrders as $sortOrder) { $field = $sortOrder->getField(); $searchResult->addOrder($field, $sortOrder->getDirection() == SortOrder::SORT_ASC ? 'ASC' : 'DESC'); } $searchResult->setSearchCriteria($searchCriteria); $searchResult->setCurPage($searchCriteria->getCurrentPage()); $searchResult->setPageSize($searchCriteria->getPageSize()); foreach ($searchResult->getItems() as $order) { $this->setShippingAssignments($order); } return $searchResult; }