Moved smart selector functions to lists

This commit is contained in:
Klaus Basan
2015-10-14 19:56:31 +02:00
committed by Mathew Sutcliffe
parent 5e42aa0b95
commit 955b8bafea
12 changed files with 135 additions and 83 deletions

View File

@@ -51,5 +51,32 @@ namespace BlackMisc
});
}
CLivery CLiveryList::smartLiverySelector(const CLivery &liveryPattern) const
{
// first try on id, that would be perfect
if (liveryPattern.hasValidDbKey())
{
int k = liveryPattern.getDbKey();
CLivery l(this->findByKey(k));
if (l.hasCompleteData()) { return l; }
}
// by combined code
if (liveryPattern.hasCombinedCode())
{
QString cc(liveryPattern.getCombinedCode());
CLivery l(this->findByCombinedCode(cc));
if (l.hasCompleteData()) { return l; }
}
if (liveryPattern.hasValidAirlineDesignator())
{
QString icao(liveryPattern.getAirlineIcaoCodeDesignator());
CLivery l(this->findByAirlineIcaoDesignatorStdLivery(icao));
if (l.hasCompleteData()) { return l; }
}
return CLivery();
}
} // namespace
} // namespace