69 private $collectionProcessor;
106 $this->collectionProcessor = $collectionProcessor ?: $this->getCollectionProcessor();
118 return $this->toDataModelConverter->toDataModel(
$model);
126 $model = $this->ruleFactory->create()
130 throw new \Magento\Framework\Exception\NoSuchEntityException();
134 $dataModel = $this->toDataModelConverter->toDataModel(
$model);
144 $collection = $this->ruleCollectionFactory->create();
145 $ruleInterfaceName = \Magento\SalesRule\Api\Data\RuleInterface::class;
146 $this->extensionAttributesJoinProcessor->process(
$collection, $ruleInterfaceName);
152 $ruleModel->load($ruleModel->getId());
153 $ruleModel->getStoreLabels();
154 $rules[] = $this->toDataModelConverter->toDataModel($ruleModel);
157 $searchResults = $this->searchResultFactory->create();
159 $searchResults->setItems(
$rules);
160 $searchResults->setTotalCount(
$collection->getSize());
161 return $searchResults;
174 $model = $this->ruleFactory->create()->load(
$id);
177 throw new \Magento\Framework\Exception\NoSuchEntityException();
197 foreach ($filterGroup->getFilters() as $filter) {
198 $condition = $filter->getConditionType() ? $filter->getConditionType() :
'eq';
199 $fields[] = $filter->getField();
200 $conditions[] = [$condition => $filter->getValue()];
213 private function getCollectionProcessor()
215 if (!$this->collectionProcessor) {
217 \
Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface::class
220 return $this->collectionProcessor;
$extensionAttributesJoinProcessor
addFilterGroupToCollection(\Magento\Framework\Api\Search\FilterGroup $filterGroup, Collection $collection)
__construct(\Magento\SalesRule\Model\RuleFactory $ruleFactory, \Magento\SalesRule\Api\Data\RuleInterfaceFactory $ruleDataFactory, \Magento\SalesRule\Api\Data\ConditionInterfaceFactory $conditionDataFactory, \Magento\SalesRule\Model\Converter\ToDataModel $toDataModelConverter, \Magento\SalesRule\Model\Converter\ToModel $toModelConverter, \Magento\SalesRule\Api\Data\RuleSearchResultInterfaceFactory $searchResultFactory, \Magento\Framework\Api\ExtensionAttribute\JoinProcessorInterface $extensionAttributesJoinProcessor, \Magento\SalesRule\Model\ResourceModel\Rule\CollectionFactory $ruleCollectionFactory, \Magento\Framework\Reflection\DataObjectProcessor $dataObjectProcessor, CollectionProcessorInterface $collectionProcessor=null)
getList(\Magento\Framework\Api\SearchCriteriaInterface $searchCriteria)
save(\Magento\SalesRule\Api\Data\RuleInterface $rule)