mapper = $mapper; } private function handleException ($e) { if ($e instanceof DoesNotExistException || $e instanceof MultipleObjectsReturnedException) { throw new NotFoundException($e->getMessage()); } else { throw $e; } } //Find an Agency public function find(int $id) { try { return $this->mapper->find($id); } catch(Exception $e) { $this->handleException($e); } } //Create an Agency public function create(string $agencygid, string $agencydirid, string $standarddirid) { $agency = new Agency(); $agency->setAgencygid($agencygid); $agency->setAgencydirid($agencydirid); $agency->setStandarddirid($standarddirid); return $this->mapper->insert($agency); } //Update an Agency public function update(int $id, string $name = null, string $inhaber = null, string $street = null, string $plz = null, string $city = null, string $agencymail = null, string $phone = null) { try { $agency = $this->mapper->find($id); } catch(Exception $e) { return new DataResponse([], Http::STATUS_NOT_FOUND); } $agency->setName($name); $agency->setInhaber($inhaber); $agency->setStreet($street); $agency->setPlz($plz); $agency->setCity($city); $agency->setAgencymail($agencymail); $agency->setPhone($phone); return $this->mapper->update($agency); } }