Ejemplo n.º 1
0
 /**
  * Updates existing record
  * @param \Jazz\Model\IObject $model
  */
 protected function _update(\Jazz\Model\IObject $model)
 {
     $query = \Jazz\Model::factory()->query($model->name());
     if ($query instanceof \Jazz\Model\Query\IUpdate) {
         $query->update($model->primary(), $this->_filterDataToSave($model));
     }
 }
Ejemplo n.º 2
0
 /**
  * Run logic
  * @param array $args
  * @return bool
  * @throws \Jazz\Command\Exception\ExecutionFailure
  */
 protected function _run(array $args)
 {
     parent::_run($args);
     /* @var $model \Jazz\IModel */
     $ret = false;
     $model = $args['model'];
     if ($model->data()->isLoaded()) {
         $query = \Jazz\Model::factory()->query($model->name());
         if ($query instanceof \Jazz\Model\Query\IDelete) {
             $query->delete($model->data()->primary());
             $ret = true;
         }
     }
     $model->clear();
     return $ret;
 }
Ejemplo n.º 3
0
 /**
  * Run logic
  * @param array $args
  * @return bool
  * @throws \Jazz\Command\Exception\ExecutionFailure
  */
 protected function _run(array $args)
 {
     parent::_run($args);
     $col = \Jazz\Model::factory()->collection($args['type']);
     $col->setType($args['type']);
     $col->setClass($args['type']);
     if ($args['reference'] !== null) {
         $col->setKey($args['reference']);
     }
     $callback = $col->getCallback();
     $callback->setArgs($args['args']);
     if (is_string($callback)) {
         $callback->setMethod($callback);
     } else {
         if (is_array($callback)) {
             $callback->setMethod($callback[1], \Jazz\Model::factory()->query($callback[0]));
         }
     }
     return $col;
 }
Ejemplo n.º 4
0
 /**
  * Run logic
  * @param array $args
  * @return bool
  * @throws \Jazz\Command\Exception\ExecutionFailure
  */
 protected function _run(array $args)
 {
     parent::_run($args);
     // verify ID
     $id = $args['id'];
     if ($id !== null && !is_numeric($id) && !is_string($id)) {
         throw new \Jazz\Command\Exception\Failure('Invalid ID');
     }
     // verify readOnly
     $readOnly = $args['readOnly'];
     if (!is_bool($readOnly)) {
         $readOnly = false;
     }
     /* @var $model \Jazz\IModel */
     $model = $args['model'];
     $data = array();
     $query = \Jazz\Model::factory()->query($model->name());
     if ($query instanceof \Jazz\Model\Query\ISelect) {
         $data = $query->select($id);
     }
     $model->populate($data, $readOnly);
     return !empty($data);
 }
Ejemplo n.º 5
0
 /**
  * Returns if KEY defined
  * @param string $key
  * @return bool
  */
 public function is(string $key) : bool
 {
     return parent::is($key) || $this->isDirty($key);
 }
Ejemplo n.º 6
0
 /**
  * Returns single data object
  * @param int|string $key
  * @param bool $useReferenceKey
  * @return \Jazz\IModel
  * @throws \Jazz\Model\Exception\KeyUndefined
  */
 public function object($key, $useReferenceKey = false)
 {
     if (!$this->exists($key, $useReferenceKey)) {
         throw new \Jazz\Model\Exception\KeyUndefined($key);
     }
     $key = $this->getReference($key, $useReferenceKey);
     if (!isset($this->_objects[$key])) {
         if ($this->hasAdded($key)) {
             $data = $this->getAdded($key);
         } else {
             if ($this->hasRemoved($key)) {
                 $data = $this->getRemoved($key);
             } else {
                 $data = $this->get($key);
             }
         }
         $this->_objects[$key] = \Jazz\Model::factory()->model($this->getClass(), $data, $this->areModelsReadOnly());
     }
     return $this->_objects[$key];
 }
Ejemplo n.º 7
0
 /**
  * Returns the Model
  * @return \Jazz\IModel|null
  */
 protected function getModel()
 {
     if ($this->_model === null) {
         $this->_model = \Jazz\Model::factory()->model($this->getCollection()->getClass());
     }
     return $this->_model;
 }
Ejemplo n.º 8
0
 /**
  * Run logic
  * @param array $args
  * @return bool
  * @throws \Jazz\Command\Exception\ExecutionFailure
  */
 protected function _run(array $args)
 {
     parent::_run($args);
     return \Jazz\Model::factory()->model($args['type'], $args['id']);
 }