protected function createOrUpdate(DiaporamaEvent $event, Diaporama $model) { $con = Propel::getConnection(DiaporamaTableMap::DATABASE_NAME); $con->beginTransaction(); try { $model->setLocale($event->getLocale()); if (null !== ($id = $event->getId())) { $model->setId($id); } if (null !== ($title = $event->getTitle())) { $model->setTitle($title); } if (null !== ($shortcode = $event->getShortcode())) { $model->setShortcode($shortcode); } $model->save($con); $con->commit(); } catch (\Exception $e) { $con->rollback(); throw $e; } $event->setDiaporama($model); }