refs #755, restore distributor order when consolidating with DB data

(formerly order was overridden)
This commit is contained in:
Klaus Basan
2016-09-03 01:08:51 +02:00
committed by Roland Winklmeier
parent 1e8090d366
commit cbc095d230
4 changed files with 17 additions and 3 deletions

View File

@@ -30,12 +30,14 @@ namespace BlackCore
if (modified) { *modified = false; } if (modified) { *modified = false; }
if (!model.hasModelString()) { return model; } if (!model.hasModelString()) { return model; }
if (!force && model.hasValidDbKey()) { return model; } if (!force && model.hasValidDbKey()) { return model; }
const int distributorOrder = model.getDistributorOrder(); // later restore that order
CAircraftModel dbModel(sApp->getWebDataServices()->getModelForModelString(model.getModelString())); CAircraftModel dbModel(sApp->getWebDataServices()->getModelForModelString(model.getModelString()));
if (dbModel.hasValidDbKey()) if (dbModel.hasValidDbKey())
{ {
if (modified) { *modified = true; } if (modified) { *modified = true; }
dbModel.updateByLocalFileNames(model); dbModel.updateByLocalFileNames(model);
dbModel.setDistributorOrder(distributorOrder);
return dbModel; return dbModel;
} }
@@ -69,6 +71,7 @@ namespace BlackCore
consolidatedModel.setDistributor(dbDistributor); consolidatedModel.setDistributor(dbDistributor);
} }
consolidatedModel.updateByLocalFileNames(model); consolidatedModel.updateByLocalFileNames(model);
consolidatedModel.setDistributorOrder(distributorOrder);
return consolidatedModel; return consolidatedModel;
} }

View File

@@ -327,7 +327,15 @@ namespace BlackMisc
this->getLivery().isMilitary(); this->getLivery().isMilitary();
} }
bool CAircraftModel::updateDistributorOrder(const CDistributorList &distributors) bool CAircraftModel::setDistributorOrder(int order)
{
if (order < 0) { return false; }
if (!this->m_distributor.isLoadedFromDb()) { return false; }
this->m_distributor.setOrder(order);
return true;
}
bool CAircraftModel::setDistributorOrder(const CDistributorList &distributors)
{ {
if (distributors.isEmpty()) { return false; } if (distributors.isEmpty()) { return false; }
bool found = false; bool found = false;

View File

@@ -216,8 +216,11 @@ namespace BlackMisc
//! Set distributor //! Set distributor
void setDistributor(const CDistributor &distributor) { m_distributor = distributor; } void setDistributor(const CDistributor &distributor) { m_distributor = distributor; }
//! Set the distributor order
bool setDistributorOrder(int order);
//! Update distributor`s order attribute //! Update distributor`s order attribute
bool updateDistributorOrder(const CDistributorList &distributors); bool setDistributorOrder(const CDistributorList &distributors);
//! Distributor //! Distributor
bool hasDistributor() const; bool hasDistributor() const;

View File

@@ -498,7 +498,7 @@ namespace BlackMisc
int found = 0; int found = 0;
for (CAircraftModel &model : *this) for (CAircraftModel &model : *this)
{ {
if (model.updateDistributorOrder(distributors)) { found ++; } if (model.setDistributorOrder(distributors)) { found ++; }
} }
return found; return found;
} }