/** * Create the application document registry * @param array $aData * @return string **/ public function create($aData) { $oConnection = Propel::getConnection(TaskUserPeer::DATABASE_NAME); try { $taskUser = TaskUserPeer::retrieveByPK($aData['TAS_UID'], $aData['USR_UID'], $aData['TU_TYPE'], $aData['TU_RELATION']); if (is_object($taskUser)) { return -1; } $oTaskUser = new TaskUser(); $oTaskUser->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oTaskUser->validate()) { $oConnection->begin(); $iResult = $oTaskUser->save(); $oConnection->commit(); return $iResult; } else { $sMessage = ''; $aValidationFailures = $oTaskUser->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '<br />'; } throw new Exception('The registry cannot be created!<br />' . $sMessage); } } catch (Exception $oError) { $oConnection->rollback(); throw $oError; } }