_serverPartEntity = $entity; return $this; } public function getServerPartEntity(): ServerPartEntity { if (!$this->_serverPartEntity instanceof ServerPartEntity) { throw new \Exception(__METHOD__ . "에서 오류발생: 서버파트정보가 정의되지 않았습니다."); } return $this->_serverPartEntity; } //서버연결정보용 등록 private function action_process(array $formDatas = []): SwitchEntity { if (!array_key_exists('status', $formDatas)) { throw new \Exception(__METHOD__ . "에서 오류발생: Switch상태가 설정되지 않았습니다."); } //Switch정보가져오기 $entity = $this->getEntity($this->getServerPartEntity()->getPartUID()); if (!$entity instanceof SwitchEntity) { throw new \Exception("{$this->getServerPartEntity()->getPartUID()}에 해당하는 Switch정보를 찾을수없습니다."); } //Switch정보 수정 return $this->modify($entity, $formDatas); } public function createServerPart(): ServerPartEntity { $formDatas = []; $formDatas['clientinfo_uid'] = $this->getServerPartEntity()->getClientInfoUID(); $formDatas['serviceinfo_uid'] = $this->getServerPartEntity()->getServiceInfoUID(); $formDatas['serverinfo_uid'] = $this->getServerPartEntity()->getServerInfoUID(); $formDatas['status'] = STATUS['OCCUPIED']; $entity = $this->action_process($formDatas); return $this->getServerPartEntity()->setPartEntity($entity); } public function modifyServerPart(): ServerPartEntity { return $this->createServerPart(); } public function deleteServerPart(): ServerPartEntity { $formDatas = []; $formDatas['clientinfo_uid'] = null; $formDatas['serviceinfo_uid'] = null; $formDatas['serverinfo_uid'] = null; $formDatas['status'] = STATUS['AVAILABLE']; $entity = $this->action_process($formDatas); return $this->getServerPartEntity()->setPartEntity($entity); } }