コード例 #1
0
 /**
  * @dataProvider mergeDataProvider
  */
 public function testMergeDataObjectWithArray($firstDataSet, $secondDataSet, $mergedData)
 {
     $taxRateSearchResults = $this->taxRateSearchResultsBuilder->populateWithArray($mergedData)->create();
     $taxRateSearchResults1 = $this->taxRateSearchResultsBuilder->populateWithArray($firstDataSet)->create();
     $taxRateSearchResultsMerged = $this->taxRateSearchResultsBuilder->mergeDataObjectWithArray($taxRateSearchResults1, $secondDataSet);
     $this->assertEquals($taxRateSearchResults->__toArray(), $taxRateSearchResultsMerged->__toArray());
 }
コード例 #2
0
ファイル: TaxRateService.php プロジェクト: aiesh/magento2
 /**
  * {@inheritdoc}
  */
 public function searchTaxRates(SearchCriteria $searchCriteria)
 {
     /** @var \Magento\Tax\Model\Resource\Calculation\Rate\Collection $collection */
     $collection = $this->rateFactory->create()->getCollection();
     $collection->joinRegionTable();
     //Add filters from root filter group to the collection
     foreach ($searchCriteria->getFilterGroups() as $group) {
         $this->addFilterGroupToCollection($group, $collection);
     }
     $sortOrders = $searchCriteria->getSortOrders();
     /** @var SortOrder $sortOrder */
     if ($sortOrders) {
         foreach ($sortOrders as $sortOrder) {
             $collection->addOrder($this->translateField($sortOrder->getField()), $sortOrder->getDirection() == SearchCriteria::SORT_ASC ? 'ASC' : 'DESC');
         }
     }
     $collection->setCurPage($searchCriteria->getCurrentPage());
     $collection->setPageSize($searchCriteria->getPageSize());
     $taxRate = [];
     /** @var \Magento\Tax\Model\Calculation\Rate $taxRateModel */
     foreach ($collection as $taxRateModel) {
         $taxRate[] = $this->converter->createTaxRateDataObjectFromModel($taxRateModel);
     }
     return $this->taxRateSearchResultsBuilder->setItems($taxRate)->setTotalCount($collection->getSize())->setSearchCriteria($searchCriteria)->create();
 }