76 lines
2.3 KiB
C++
Executable File
76 lines
2.3 KiB
C++
Executable File
/**
|
|
* Convert db structures to dds structures
|
|
* $Id$
|
|
* $HeadURL$
|
|
* $Author$
|
|
* Created by Christian Ehrlicher, SLSE, 2017-07-20
|
|
*/
|
|
#pragma once
|
|
|
|
#include <ExerciseManagement/exm_db.h>
|
|
#include <ExerciseManagement/exm.hpp>
|
|
|
|
#include <Common/ProjectConfig/project_defines.h>
|
|
#include <LtsUtilsCore/dds_vector.h>
|
|
|
|
namespace ExerciseManagement
|
|
{
|
|
namespace Database
|
|
{
|
|
inline Exercise convert(const ExmExercise &dbData)
|
|
{
|
|
ExerciseManagement::Exercise ddsData;
|
|
|
|
ddsData.id(dbData.id);
|
|
ddsData.name(dbData.name.toStdString());
|
|
|
|
// behaviour of QDateTime::toMSecsSinceEpoch() is undefinded if not valid:
|
|
if (dbData.beginTime.isValid())
|
|
ddsData.beginTime(dbData.beginTime.toMSecsSinceEpoch());
|
|
if (dbData.endTime.isValid())
|
|
ddsData.endTime(dbData.endTime.toMSecsSinceEpoch());
|
|
if (dbData.created.isValid())
|
|
ddsData.created(dbData.created.toMSecsSinceEpoch());
|
|
if (dbData.startTime.isValid())
|
|
ddsData.startTime(dbData.startTime.toMSecsSinceEpoch());
|
|
if (dbData.stopTime.isValid())
|
|
ddsData.stopTime(dbData.stopTime.toMSecsSinceEpoch());
|
|
|
|
ddsData.trainingAreaId(dbData.trainingAreaId);
|
|
if (!dbData.radioGroupId.isNull() && dbData.radioGroupId.canConvert<unsigned int>())
|
|
ddsData.radioGroupId(dbData.radioGroupId.toUInt());
|
|
ddsData.activePhaseId(dbData.activePhaseId);
|
|
ddsData.symbolFillTypeId(dbData.symbolFillTypeId);
|
|
ddsData.linkedExerciseId(dbData.linkedExerciseId);
|
|
if (!dbData.defaultTimeZone.isEmpty())
|
|
ddsData.defaultTimeZone(dbData.defaultTimeZone.at(0).toLatin1());
|
|
else
|
|
ddsData.defaultTimeZone('Z');
|
|
ddsData.sendToWMS(dbData.sendToWms);
|
|
ddsData.transferred(dbData.transferred);
|
|
ddsData.hasHlaInterface(dbData.hasHlaInterface);
|
|
ddsData.state(dbData.exerciseStateId);
|
|
ddsData.forces(dbData.forces.toStdString());
|
|
ddsData.description(dbData.description.toStdString());
|
|
ddsData.partitionName(IDL::exercisePartition(dbData.id));
|
|
|
|
return ddsData;
|
|
}
|
|
|
|
inline ExercisePhase convert(const ExmExercisePhase &dbData)
|
|
{
|
|
ExerciseManagement::ExercisePhase ddsData;
|
|
|
|
ddsData.id(dbData.id);
|
|
ddsData.name(dbData.name.toStdString());
|
|
ddsData.description(dbData.description.toStdString());
|
|
ddsData.beginTime(dbData.beginTime.toMSecsSinceEpoch());
|
|
ddsData.endTime(dbData.endTime.toMSecsSinceEpoch());
|
|
ddsData.exerciseId(dbData.exerciseId);
|
|
|
|
return ddsData;
|
|
}
|
|
|
|
}
|
|
}
|