/** * Convert db structures to dds structures * $Id$ * $HeadURL$ * $Author$ * Created by Christian Ehrlicher, SLSE, 2017-07-20 */ #pragma once #include #include namespace InfrastructureManagement { namespace Database { inline MainStructureElement convert(const Database::IsmMainStructureElement &dbData) { MainStructureElement ddsData; ddsData.id(dbData.id); ddsData.name(dbData.name.toStdString()); ddsData.description(dbData.description.toStdString()); ddsData.geoPosition(Core::GeoPosition(dbData.geoPosition.x(), dbData.geoPosition.y(), dbData.geoPosition.z())); ddsData.angle(dbData.angle); ddsData.externalWlsId(dbData.externalWlsId); ddsData.groupId(dbData.groupId); ddsData.modelId(dbData.modelId); ddsData.properties(dbData.properties.toStdString()); // init data not in db ddsData.isDeleted(false); ddsData.isUsed(false); // TODO: fill additional data? //ddsData.structureElementId(); //ddsData.elements(); return ddsData; } inline StructureElement convert(const Database::IsmStructureElement &dbData) { StructureElement ddsData; ddsData.id(dbData.id); ddsData.name(dbData.name.toStdString()); ddsData.displayName(dbData.displayName.toStdString()); ddsData.mainStructureElementId(dbData.mainStructureElementId); ddsData.structureElementTypeId(dbData.structureElementTypeId); ddsData.path(dbData.path()); ddsData.mountingPointId(dbData.mountingPointId); ddsData.barcode(dbData.barcode.toStdString()); ddsData.relPosition(Core::RelativePosition(dbData.relPosition.x(), dbData.relPosition.y(), dbData.relPosition.z())); ddsData.mountingPointTypeId(dbData.mountingPointTypeId); ddsData.orientation(Core::Orientation(dbData.orientation.x(), dbData.orientation.y(), dbData.orientation.z())); ddsData.properties(dbData.properties.toStdString()); // init data not in db ddsData.isDeleted(false); ddsData.isUsed(false); return ddsData; } //-------------------------------------------------------------------------------------------------- inline MainSchedule convert(const Database::IsmMountingPointSchedule &dbData) { MainSchedule ddsData; ddsData.id(dbData.id); ddsData.name(dbData.name.toStdString()); ddsData.statusId(dbData.statusId); ddsData.timeCreated(dbData.timeCreated.toMSecsSinceEpoch()); if (!dbData.timeStart.isNull() && dbData.timeStart.isValid()) ddsData.timeStart(dbData.timeStart.toMSecsSinceEpoch()); if (!dbData.timeEnd.isNull() && dbData.timeEnd.isValid()) ddsData.timeEnd(dbData.timeEnd.toMSecsSinceEpoch()); if (!dbData.exerciseId.isNull() && dbData.exerciseId.canConvert()) ddsData.exerciseId(dbData.exerciseId.toUInt()); return ddsData; } } // namespace Database } // namespace InfrastructureManagement