30 'type' => $dataModel->getType(),
31 'attribute' => $dataModel->getAttribute(),
32 'operator' => $dataModel->getOperator(),
33 'value' => $dataModel->getValue(),
34 'is_value_processed' => $dataModel->getIsValueParsed(),
35 'aggregator' => $dataModel->getAggregator()
38 foreach ((array)$dataModel->getConditions() as $condition) {
42 return $conditionArray;
50 public function arrayToDataModel(array $conditionArray)
53 $ruleCondition = $this->ruleConditionFactory->create();
55 $ruleCondition->setType($conditionArray[
'type']);
56 $ruleCondition->setAggregator(isset($conditionArray[
'aggregator']) ? $conditionArray[
'aggregator'] :
false);
57 $ruleCondition->setAttribute(isset($conditionArray[
'attribute']) ? $conditionArray[
'attribute'] :
false);
58 $ruleCondition->setOperator(isset($conditionArray[
'operator']) ? $conditionArray[
'operator'] :
false);
59 $ruleCondition->setValue(isset($conditionArray[
'value']) ? $conditionArray[
'value'] :
false);
60 $ruleCondition->setIsValueParsed(
61 isset($conditionArray[
'is_value_parsed']) ? $conditionArray[
'is_value_parsed'] :
false 64 if (isset($conditionArray[
'conditions']) && is_array($conditionArray[
'conditions'])) {
66 foreach ($conditionArray[
'conditions'] as $condition) {
67 $conditions[] = $this->arrayToDataModel($condition);
69 $ruleCondition->setConditions($conditions);
71 return $ruleCondition;
dataModelToArray(\Magento\CatalogRule\Api\Data\ConditionInterface $dataModel)
__construct(\Magento\CatalogRule\Api\Data\ConditionInterfaceFactory $ruleConditionFactory)