public static function createLink($id, $parentId, $type = self::LINK_TYPE_FINISH_START, array $behaviour = array()) { $id = Assert::expectIntegerPositive($id, '$id'); $parentId = Assert::expectIntegerPositive($parentId, '$parentId'); $type = Assert::expectEnumerationMember($type, array(self::LINK_TYPE_START_START, self::LINK_TYPE_START_FINISH, self::LINK_TYPE_FINISH_START, self::LINK_TYPE_FINISH_FINISH), '$type'); $exceptionInfo = array('AUX' => array('MESSAGE' => array('FROM_TASK_ID' => $parentId, 'TASK_ID' => $id, 'LINK_TYPE' => $type))); $result = new AddResult(); if (is_array($behaviour['TASK_DATA']) && !empty($behaviour['TASK_DATA'])) { $toTask = $behaviour['TASK_DATA']; } else { $toTask = TaskTable::getById($id)->fetch(); } if (empty($toTask)) { throw new ActionFailedException('Task not found', $exceptionInfo); } if (is_array($behaviour['PARENT_TASK_DATA']) && !empty($behaviour['PARENT_TASK_DATA'])) { $fromTask = $behaviour['PARENT_TASK_DATA']; } else { $fromTask = TaskTable::getById($parentId)->fetch(); } if (empty($fromTask)) { throw new ActionFailedException('Parent task not found', $exceptionInfo); } if ((string) $toTask['CREATED_DATE'] == '') { $result->addError(new Error(Loc::getMessage('DEPENDENCE_ENTITY_CANT_ADD_LINK_CREATED_DATE_NOT_SET'))); } if ((string) $toTask['END_DATE_PLAN'] == '') { $result->addError(new Error(Loc::getMessage('DEPENDENCE_ENTITY_CANT_ADD_LINK_END_DATE_PLAN_NOT_SET'))); } if ((string) $fromTask['CREATED_DATE'] == '') { $result->addError(new Error(Loc::getMessage('DEPENDENCE_ENTITY_CANT_ADD_LINK_CREATED_DATE_NOT_SET_PARENT_TASK'))); } if ((string) $fromTask['END_DATE_PLAN'] == '') { $result->addError(new Error(Loc::getMessage('DEPENDENCE_ENTITY_CANT_ADD_LINK_END_DATE_PLAN_NOT_SET_PARENT_TASK'))); } if (!$result->isSuccess()) { return $result; } else { return parent::createLink($id, $parentId, array('LINK_DATA' => array('TYPE' => $type))); } }
/** * Add discount. * * @param array $data Discount data. * @return Main\Entity\AddResult */ public static function add(array $data) { $result = new Main\Entity\AddResult(); $result->addError(new Main\Entity\EntityError(Loc::getMessage('CATALOG_DISCOUNT_ENTITY_MESS_ADD_BLOCKED'))); return $result; }