/** * {@inheritdoc} */ public function isAssignedToObjects() { $searchCriteria = $this->searchCriteriaBuilder->addFilter([$this->filterBuilder->setField('tax_class_id')->setValue($this->getId())->create()])->create(); $result = $this->groupService->searchGroups($searchCriteria); $items = $result->getItems(); return !empty($items); }
/** * Load customer group collection data from service * * @param bool $printQuery * @param bool $logQuery * @return $this */ public function loadData($printQuery = false, $logQuery = false) { if (!$this->isLoaded()) { $searchCriteria = $this->getSearchCriteria(); $searchResults = $this->groupService->searchGroups($searchCriteria); $this->_totalRecords = $searchResults->getTotalCount(); /** @var CustomerGroup[] $groups */ $groups = $searchResults->getItems(); foreach ($groups as $group) { $groupItem = new \Magento\Framework\Object(); $groupItem->addData(\Magento\Framework\Service\DataObjectConverter::toFlatArray($group)); $this->_addItem($groupItem); } $this->_setIsLoaded(); } return $this; }
/** * @param Filter[] $filters * @param Filter[] $filterGroup * @param array $expectedResult array of expected results indexed by ID * * @dataProvider searchGroupsDataProvider */ public function testSearchGroups($filters, $filterGroup, $expectedResult) { /** @var \Magento\Framework\Service\V1\Data\SearchCriteriaBuilder $searchBuilder */ $searchBuilder = Bootstrap::getObjectManager()->create('Magento\\Framework\\Service\\V1\\Data\\SearchCriteriaBuilder'); foreach ($filters as $filter) { $searchBuilder->addFilter([$filter]); } if (!is_null($filterGroup)) { $searchBuilder->addFilter($filterGroup); } $searchResults = $this->_groupService->searchGroups($searchBuilder->create()); /** @var $item Data\CustomerGroup */ foreach ($searchResults->getItems() as $item) { $this->assertEquals($expectedResult[$item->getId()][CustomerGroup::CODE], $item->getCode()); $this->assertEquals($expectedResult[$item->getId()][CustomerGroup::TAX_CLASS_ID], $item->getTaxClassId()); unset($expectedResult[$item->getId()]); } }