public function deleteGateway($sProcessUID = '', $sGatewayUID = '') { try { //First get all routes information related to $sGatewayUID $oCriteria = new Criteria('workflow'); $oCriteria->addSelectColumn('ROU_UID'); $oCriteria->add(RoutePeer::PRO_UID, $sProcessUID); $oCriteria->add(RoutePeer::GAT_UID, $sGatewayUID); $oDataset = RoutePeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); while ($aRow = $oDataset->getRow()) { $aRoutes[] = $aRow['ROU_UID']; $oDataset->next(); } $oGateway = new Gateway(); if ($oGateway->gatewayExists($sGatewayUID)) { $oTasks = new Tasks(); $res = $oGateway->remove($sGatewayUID); if ($res) { $oRoute = new Route(); foreach ($aRoutes as $sRouteId) { $oRoute->remove($sRouteId); } } } return; } catch (Exception $oError) { throw $oError; } }
/** * creates row tasks from an Task Array * @param string $aTasks * @return array */ public function createGatewayRows($aGateway) { foreach ($aGateway as $key => $row) { $oGateway = new Gateway(); if ($oGateway->gatewayExists($row['GAT_UID'])) { $oGateway->remove($row['GAT_UID']); } if ($row['TAS_UID'] != '' && $row['GAT_NEXT_TASK'] != '') { continue; } else { $res = $oGateway->createRow($row); } } return; }