public function create($aData) { $oConnection = Propel::getConnection(CaseTrackerPeer::DATABASE_NAME); try { if (!isset($aData['CT_MAP_TYPE'])) { $aData['CT_MAP_TYPE'] = 'PROCESSMAP'; } $oCaseTracker = new CaseTracker(); $oCaseTracker->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oCaseTracker->validate()) { $oConnection->begin(); $iResult = $oCaseTracker->save(); $oConnection->commit(); return true; } else { $sMessage = ''; $aValidationFailures = $oCaseTracker->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; } }