/**
  * 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;
 }
Пример #4
0
 /**
  * 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;
 }
Пример #5
0
 /**
  * {@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;
 }
Пример #6
0
 public function testModifyData()
 {
     $sourceData = ['1' => ['product' => [ProductAttributeInterface::CODE_PRICE => '19.99']]];
     $this->locatorMock->expects($this->any())->method('getProduct')->willReturn($this->productMock);
     $this->productMock->expects($this->any())->method('getId')->willReturn(1);
     $this->productMock->expects($this->once())->method('getAttributeSetId')->willReturn(4);
     $this->productMock->expects($this->once())->method('getData')->with(ProductAttributeInterface::CODE_PRICE)->willReturn('19.9900');
     $this->searchCriteriaBuilderMock->expects($this->any())->method('addFilter')->willReturnSelf();
     $this->searchCriteriaBuilderMock->expects($this->any())->method('create')->willReturn($this->searchCriteriaMock);
     $this->attributeGroupRepositoryMock->expects($this->any())->method('getList')->willReturn($this->searchCriteriaMock);
     $this->searchCriteriaMock->expects($this->once())->method('getItems')->willReturn([$this->attributeGroupMock]);
     $this->sortOrderBuilderMock->expects($this->once())->method('setField')->willReturnSelf();
     $this->sortOrderBuilderMock->expects($this->once())->method('setAscendingDirection')->willReturnSelf();
     $dataObjectMock = $this->getMock('\\Magento\\Framework\\Api\\AbstractSimpleObject', [], [], '', false);
     $this->sortOrderBuilderMock->expects($this->once())->method('create')->willReturn($dataObjectMock);
     $this->searchCriteriaBuilderMock->expects($this->any())->method('addFilter')->willReturnSelf();
     $this->searchCriteriaBuilderMock->expects($this->once())->method('addSortOrder')->willReturnSelf();
     $this->searchCriteriaBuilderMock->expects($this->any())->method('create')->willReturn($this->searchCriteriaMock);
     $this->attributeRepositoryMock->expects($this->once())->method('getList')->with($this->searchCriteriaMock)->willReturn($this->searchResultsMock);
     $this->eavAttributeMock->expects($this->any())->method('getAttributeGroupCode')->willReturn('product-details');
     $this->eavAttributeMock->expects($this->once())->method('getApplyTo')->willReturn([]);
     $this->eavAttributeMock->expects($this->once())->method('getFrontendInput')->willReturn('price');
     $this->eavAttributeMock->expects($this->any())->method('getAttributeCode')->willReturn(ProductAttributeInterface::CODE_PRICE);
     $this->searchResultsMock->expects($this->once())->method('getItems')->willReturn([$this->eavAttributeMock]);
     $this->storeMock->expects($this->once())->method('getBaseCurrencyCode')->willReturn('en_US');
     $this->storeManagerMock->expects($this->once())->method('getStore')->willReturn($this->storeMock);
     $this->currencyMock->expects($this->once())->method('toCurrency')->willReturn('19.99');
     $this->currencyLocaleMock->expects($this->once())->method('getCurrency')->willReturn($this->currencyMock);
     $this->assertEquals($sourceData, $this->eav->modifyData([]));
 }
Пример #7
0
 /**
  * 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));
 }
Пример #8
0
 /**
  * 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;
 }