/** * @param Application $application to be saved * * @throws \Exception */ public function saveApplication(Application $application) { $data = ['name' => $application->getName(), 'tag' => $application->getTag(), 'email' => $application->getEmail(), 'strategies' => $application->getStrategies(), 'th' => $application->getTh(), 'warStars' => $application->getWarStars(), 'age' => $application->getAge(), 'infos' => $application->getInfos(), 'why' => $application->getWhy(), 'niceAndTidy' => $application->getNiceAndTidy(), 'spoilsOfWar' => $application->getSpoilsOfWar(), 'goldGrab' => $application->getGoldGrab(), 'basepic' => $application->getBasepic(), 'profilepic' => $application->getProfilepic(), 'processed' => $application->getProcessed(), 'processed_by' => $application->getProcessedBy(), 'date_applied' => $application->getDateApplied(), 'mails_send' => $application->getMailsSend()]; $id = (int) $application->getId(); if ($id == 0) { $this->tableGateway->insert($data); } else { if ($this->getApplication($id)) { $this->tableGateway->update($data, ['id' => $id]); } else { throw new \Exception('Application id does not exist'); } } }