Example #1
0
 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)));
     }
 }
Example #2
0
 /**
  * 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;
 }