public function create($aData) { $oConnection = Propel::getConnection(StagePeer::DATABASE_NAME); try { if (isset($aData['STG_UID']) && $aData['STG_UID'] == '') { unset($aData['STG_UID']); } if (!isset($aData['STG_UID'])) { $aData['STG_UID'] = G::generateUniqueID(); } $oStage = new Stage(); $oStage->fromArray($aData, BasePeer::TYPE_FIELDNAME); $oStage->setStgTitle($aData['STG_TITLE']); if ($oStage->validate()) { $oConnection->begin(); $iResult = $oStage->save(); $oConnection->commit(); return $aData['STG_UID']; } else { $sMessage = ''; $aValidationFailures = $oStage->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; } }