fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oAppDelay->validate()) { $oConnection->begin(); $iResult = $oAppDelay->save(); $oConnection->commit(); return $aData['APP_DELAY_UID']; } else { $sMessage = ''; $aValidationFailures = $oAppDelay->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '
'; } throw(new Exception('The registry cannot be created!
'.$sMessage)); } } catch (Exception $oError) { $oConnection->rollback(); throw($oError); } } /** * Update the application delay registry * @param array $aData * @return string **/ public function update($aData) { $oConnection = Propel::getConnection(AppDelayPeer::DATABASE_NAME); try { $oAppDelay = AppDelayPeer::retrieveByPK($aData['APP_DELAY_UID']); if (!is_null($oAppDelay)) { $oAppDelay->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($oAppDelay->validate()) { $oConnection->begin(); $iResult = $oAppDelay->save(); $oConnection->commit(); return $iResult; } else { $sMessage = ''; $aValidationFailures = $oAppDelay->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '
'; } throw(new Exception('The registry cannot be updated!
'.$sMessage)); } } else { throw(new Exception('This row doesn\'t exist!')); } } catch (Exception $oError) { $oConnection->rollback(); throw($oError); } } public function isPaused($appUid, $delIndex) { $oCriteria = new Criteria('workflow'); $oCriteria->add(AppDelayPeer::APP_UID, $appUid); $oCriteria->add(AppDelayPeer::APP_DEL_INDEX, $delIndex); $oCriteria->add(AppDelayPeer::APP_TYPE, 'PAUSE'); $oCriteria->add( $oCriteria->getNewCriterion(AppDelayPeer::APP_DISABLE_ACTION_USER, 0, Criteria::EQUAL)->addOr( $oCriteria->getNewCriterion(AppDelayPeer::APP_DISABLE_ACTION_USER, null, Criteria::ISNULL)) ); $oDataset = AppDelayPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); if ($aRow) { return true; } else { return false; } } /** * Verify if the case is Paused or cancelled * * @param $appUid string * @return $oDataset array */ public function getCasesCancelOrPaused($appUid) { $oCriteria = new Criteria( 'workflow' ); $oCriteria->addSelectColumn( AppDelayPeer::APP_UID ); $oCriteria->addSelectColumn( AppDelayPeer::APP_DEL_INDEX ); $oCriteria->add( AppDelayPeer::APP_TYPE, '' ); $oCriteria->add( AppDelayPeer::APP_UID, $appUid ); $oCriteria->add( $oCriteria->getNewCriterion( AppDelayPeer::APP_TYPE, 'PAUSE' )->addOr( $oCriteria->getNewCriterion( AppDelayPeer::APP_TYPE, 'CANCEL' ) ) ); $oCriteria->addAscendingOrderByColumn( AppDelayPeer::APP_ENABLE_ACTION_DATE ); $oDataset = AppDelayPeer::doSelectRS( $oCriteria ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->next(); return $oDataset->getRow(); } }