示例#1
0
 /**
  * Salva dados no repositório.
  * @example ModelAbstract::save
  * @code
  * <?php
  *     ...
  *     $valueObject = FoobarValueObject::factory();
  *     $model->save($valueObject);
  *     ...
  * ?>
  * @endcode
  * @name save
  * @access public
  * @param ValueObject $valueObject
  * @return ModelAbstract
  * @throws ModelException
  * */
 public function save(ValueObjectAbstract $valueObject)
 {
     try {
         $this->_persist->save($valueObject);
         // @codeCoverageIgnoreStart
     } catch (PersistException $pExc) {
         # realiza log de error ocorrido na persistencia
         throw new ModelException($pExc->getMessage(), 0, $pExc);
     } catch (DMLException $dExc) {
         throw new ModelException($dExc->getMessage(), 0, $dExc);
     } catch (\PDOException $pdoe) {
         # efetua log de error em operacao com repositorio
         throw new ModelException($pdoe->getMessage(), 0);
     }
     // @codeCoverageIgnoreEnd
 }