/** * 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 }