/** * Delete an Bistum entity */ public function deleteAction() { if ($this->request->hasArgument('uUID')) { $uuid = $this->request->getArgument('uUID'); } if (empty($uuid)) { $this->throwStatus(400, 'Required uUID not provided', null); } $orte = count($this->ortRepository->findByBistum($uuid)); $bistumhasurls = count($this->bistumHasUrlRepository->findByBistum($uuid)); $bands = count($this->bandRepository->findByBistum($uuid)); if ($orte == 0 && $bistumhasurls == 0 && $bands == 0) { $bistumObj = $this->bistumRepository->findByIdentifier($uuid); if (!is_object($bistumObj)) { $this->throwStatus(400, 'Entity Bistum not available', null); } $this->bistumRepository->remove($bistumObj); // Fetch Bistum Urls $bistumHasUrls = $bistumObj->getBistumHasUrls(); if (is_array($bistumHasUrls)) { foreach ($bistumHasUrls as $bistumHasUrl) { $this->bistumHasUrlRepository->remove($bistumHasUrl); } } $this->throwStatus(200, null, null); } else { $this->throwStatus(400, 'Due to dependencies Bistum entity could not be deleted', null); } }