/** * Handler for the HMI language * $Id$ * $HeadURL$ * $Author$ */ #include "object_evaluation_element.h" namespace Evaluations { ObjectEvaluationElement::ObjectEvaluationElement(const std::shared_ptr &ddsHandler, const std::shared_ptr &db) : m_ddsHandler(ddsHandler) , m_db(db) , m_logger(getLogger("ObjectEvaluationElement")) { } Core::FunctionReplyObject ObjectEvaluationElement::createObject(const Database::EvlElement &data) { m_data = data; if (m_data.id <= 0) { if (!m_db->insert(m_data)) return Core::FunctionReplyObject(0, tr_lts("dds", "Error inserting EvlElement-data into database")); } // Publish Data via DTS onPublishData(); return Core::FunctionReplyObject(m_data.id); } Core::FunctionReplyObject ObjectEvaluationElement::updateObject(const Database::EvlElement &data) { if (!m_db->update(data)) return Core::FunctionReplyObject(data.id, tr_lts("dds", "Error updating EvlElement-data into database")); m_data = data; onPublishData(); return Core::FunctionReplyObject(m_data.id); } Core::FunctionReplyObject ObjectEvaluationElement::removeObject() { if (!m_db->removeEvlElement(m_data.id)) return Core::FunctionReplyObject(m_data.id, tr_lts("dds", "Error removing EvlElement-data into database")); m_ddsHandler->dts()->removeEvaluationElementByKey(m_data.id); return Core::FunctionReplyObject(m_data.id); } void ObjectEvaluationElement::onPublishData() { Evaluations::EvaluationElement ddsData; ddsData.id(m_data.id); ddsData.criteriumId(m_data.criteriumId); ddsData.phaseId(m_data.phaseId); ddsData.duration(m_data.duration); ddsData.situation(!m_data.situationContent.isNull()); ddsData.video(!m_data.videoContent.isNull()); ddsData.audio(!m_data.audioContent.isNull()); ddsData.note(m_data.note.toStdString()); ddsData.rating(m_data.rating); ddsData.timestamp(m_data.time); if (!m_data.audioContent.isNull()) ddsData.audioContent(m_data.audioContent.toString().toStdString()); if (!m_data.videoContent.isNull()) ddsData.videoContent(m_data.videoContent.toString().toStdString()); if (!m_data.situationContent.isNull()) ddsData.situationContent(m_data.situationContent.toString().toStdString()); INFO_LOG(m_logger) << "Publish EvlElement-data to dds (" << m_data.id << ") ..."; if (!m_ddsHandler->dts()->publish(ddsData)) ERROR_LOG(m_logger) << "Error publishing EvlEvaluationElement-data to dds"; } } // Namespace Evaluations