From ada4b87f10f35285f3350fdb97885379655f3c34 2017-12-18 15:35:35 From: mperrinel Date: 2017-12-18 15:35:35 Subject: [PATCH] Update addEvent method to handle correctly DBEventProduct creation --- diff --git a/core/src/Catalogue/CatalogueController.cpp b/core/src/Catalogue/CatalogueController.cpp index be76fcf..c7c4bdc 100644 --- a/core/src/Catalogue/CatalogueController.cpp +++ b/core/src/Catalogue/CatalogueController.cpp @@ -150,12 +150,22 @@ void CatalogueController::addEvent(std::shared_ptr event) { event->setRepository(impl->toWorkRepository(event->getRepository())); - impl->m_CatalogueDao.addEvent(*event); + auto eventTemp = *event; + impl->m_CatalogueDao.addEvent(eventTemp); // Call update is necessary at the creation of add Event if it has some tags or some event // products if (!event->getEventProducts().empty() || !event->getTags().empty()) { - impl->m_CatalogueDao.updateEvent(*event); + + auto eventProductsTemp = eventTemp.getEventProducts(); + auto eventProductTempUpdated = std::list{}; + for (auto eventProductTemp : eventProductsTemp) { + eventProductTemp.setEvent(eventTemp); + eventProductTempUpdated.push_back(eventProductTemp); + } + eventTemp.setEventProducts(eventProductTempUpdated); + + impl->m_CatalogueDao.updateEvent(eventTemp); } }