public function removeEventDefinition(\BpmnEvent $bpmnEvent) { try { //WebEntry-Event - Delete if ($bpmnEvent->getEvnType() == "START" && $bpmnEvent->getEvnMarker() == "EMPTY") { $webEntryEvent = new \ProcessMaker\BusinessModel\WebEntryEvent(); if ($webEntryEvent->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) { $arrayWebEntryEventData = $webEntryEvent->getWebEntryEventByEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid(), true); $webEntryEvent->delete($arrayWebEntryEventData["WEE_UID"]); } } //Message-Event-Definition - Delete $arrayEventType = array("START", "END", "INTERMEDIATE"); $arrayEventMarker = array("MESSAGETHROW", "MESSAGECATCH"); if (in_array($bpmnEvent->getEvnType(), $arrayEventType) && in_array($bpmnEvent->getEvnMarker(), $arrayEventMarker)) { $messageEventDefinition = new \ProcessMaker\BusinessModel\MessageEventDefinition(); if ($messageEventDefinition->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) { $arrayMessageEventDefinitionData = $messageEventDefinition->getMessageEventDefinitionByEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid(), true); $messageEventDefinition->delete($arrayMessageEventDefinitionData["MSGED_UID"]); } } //Timer-Event - Delete $arrayEventType = array("START", "INTERMEDIATE"); $arrayEventMarker = array("TIMER"); if (in_array($bpmnEvent->getEvnType(), $arrayEventType) && in_array($bpmnEvent->getEvnMarker(), $arrayEventMarker)) { $timerEvent = new \ProcessMaker\BusinessModel\TimerEvent(); $timerEvent->deleteWhere(array( \TimerEventPeer::PRJ_UID => array($bpmnEvent->getPrjUid(), \Criteria::EQUAL), \TimerEventPeer::EVN_UID => array($bpmnEvent->getEvnUid(), \Criteria::EQUAL) )); } //Email-Event - Delete $arrayEventType = array("END", "INTERMEDIATE"); $arrayEventMarker = array("EMAIL"); if (in_array($bpmnEvent->getEvnType(), $arrayEventType) && in_array($bpmnEvent->getEvnMarker(), $arrayEventMarker)) { $emailEvent = new \ProcessMaker\BusinessModel\EmailEvent(); if ($emailEvent->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) { $arrayEmailEventData = $emailEvent->getEmailEventData($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid()); $arrayEmailEventData = array_change_key_case($arrayEmailEventData, CASE_UPPER); $emailEvent->delete($bpmnEvent->getPrjUid(), $arrayEmailEventData["EMAIL_EVENT_UID"], true); } } //Element-Task-Relation - Delete $this->removeElementTaskRelation($bpmnEvent->getEvnUid(), "bpmnEvent"); } catch (\Exception $e) { throw $e; } }
public function removeEventDefinition(\BpmnEvent $bpmnEvent) { try { //Case-Scheduler - Delete if ($bpmnEvent->getEvnType() == "START" && $bpmnEvent->getEvnMarker() == "TIMER") { $caseScheduler = new \CaseScheduler(); if ($caseScheduler->Exists($bpmnEvent->getEvnUid())) { $this->wp->removeCaseScheduler($bpmnEvent->getEvnUid()); } } //WebEntry-Event - Delete if ($bpmnEvent->getEvnType() == "START" && $bpmnEvent->getEvnMarker() == "EMPTY") { $webEntryEvent = new \ProcessMaker\BusinessModel\WebEntryEvent(); if ($webEntryEvent->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) { $arrayWebEntryEventData = $webEntryEvent->getWebEntryEventByEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid(), true); $webEntryEvent->delete($arrayWebEntryEventData["WEE_UID"]); } } //Message-Event-Definition - Delete $arrayEventType = array("START", "END", "INTERMEDIATE"); $arrayEventMarker = array("MESSAGETHROW", "MESSAGECATCH"); if (in_array($bpmnEvent->getEvnType(), $arrayEventType) && in_array($bpmnEvent->getEvnMarker(), $arrayEventMarker)) { $messageEventDefinition = new \ProcessMaker\BusinessModel\MessageEventDefinition(); if ($messageEventDefinition->existsEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid())) { $arrayMessageEventDefinitionData = $messageEventDefinition->getMessageEventDefinitionByEvent($bpmnEvent->getPrjUid(), $bpmnEvent->getEvnUid(), true); $messageEventDefinition->delete($arrayMessageEventDefinitionData["MSGED_UID"]); } } //Element-Task-Relation - Delete $this->removeElementTaskRelation($bpmnEvent->getEvnUid(), "bpmnEvent"); } catch (\Exception $e) { throw $e; } }