refs #791, reverse lookup for own model in the utils class

This commit is contained in:
Klaus Basan
2016-10-29 03:43:06 +02:00
parent 0811536e57
commit a92b67db6b
2 changed files with 24 additions and 5 deletions

View File

@@ -20,13 +20,32 @@ namespace BlackCore
{
namespace Db
{
CAircraftModel CDatabaseUtils::consolidateModelWithDbData(const CAircraftModel &model, bool force)
CAircraftModel CDatabaseUtils::consolidateOwnAircraftModelWithDbData(const CAircraftModel &model, bool force, bool *modified)
{
return CDatabaseUtils::consolidateModelWithDbData(model, force, nullptr);
bool myModified = false;
CAircraftModel ownModel = CDatabaseUtils::consolidateModelWithDbData(model, force, &myModified);
// special case here, as we have some specific values for a local model
if (myModified)
{
ownModel.updateMissingParts(model);
ownModel.setFileName(model.getFileName());
myModified = true;
}
if (ownModel.getModelType() != CAircraftModel::TypeOwnSimulatorModel)
{
ownModel.setModelType(CAircraftModel::TypeOwnSimulatorModel);
myModified = true;
}
if (modified) { *modified = myModified; }
return ownModel;
}
CAircraftModel CDatabaseUtils::consolidateModelWithDbData(const CAircraftModel &model, bool force, bool *modified)
{
Q_ASSERT_X(sApp, Q_FUNC_INFO, "Missing application object");
Q_ASSERT_X(sApp->hasWebDataServices(), Q_FUNC_INFO, "No web services");
if (modified) { *modified = false; }
if (!model.hasModelString()) { return model; }
if (!force && model.hasValidDbKey()) { return model; }

View File

@@ -27,11 +27,11 @@ namespace BlackCore
//! No constructor
CDatabaseUtils() = delete;
//! Consolidate model data with DB data
static BlackMisc::Simulation::CAircraftModel consolidateModelWithDbData(const BlackMisc::Simulation::CAircraftModel &model, bool force);
//! Consolidate own (aircraft) model data with DB data
static BlackMisc::Simulation::CAircraftModel consolidateOwnAircraftModelWithDbData(const BlackMisc::Simulation::CAircraftModel &model, bool force, bool *modified = nullptr);
//! Consolidate model data with DB data
static BlackMisc::Simulation::CAircraftModel consolidateModelWithDbData(const BlackMisc::Simulation::CAircraftModel &model, bool force, bool *modified);
static BlackMisc::Simulation::CAircraftModel consolidateModelWithDbData(const BlackMisc::Simulation::CAircraftModel &model, bool force, bool *modified = nullptr);
//! Consolidate models with DB data
static int consolidateModelsWithDbData(BlackMisc::Simulation::CAircraftModelList &models, bool force);