Пример #1
0
 /**
  * Create the step supervisor registry
  *
  * @param array $aData
  * @return boolean
  *
  */
 public function create ($aData)
 {
     $oConnection = Propel::getConnection( StepSupervisorPeer::DATABASE_NAME );
     try {
         if (isset( $aData['STEP_UID'] ) && $aData['STEP_UID'] == '') {
             unset( $aData['STEP_UID'] );
         }
         if (! isset( $aData['STEP_UID'] )) {
             $aData['STEP_UID'] = G::generateUniqueID();
         }
         $oStepSupervisor = new StepSupervisor();
         $oStepSupervisor->fromArray( $aData, BasePeer::TYPE_FIELDNAME );
         if ($oStepSupervisor->validate()) {
             $oConnection->begin();
             $iResult = $oStepSupervisor->save();
             $oConnection->commit();
             return true;
         } else {
             $sMessage = '';
             $aValidationFailures = $oStepSupervisor->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);
     }
 }