refs #618, refs #619, utility functions for model/distributor value objects

This commit is contained in:
Klaus Basan
2016-03-19 20:25:22 +01:00
parent d687255ef1
commit e03c207324
7 changed files with 70 additions and 11 deletions

View File

@@ -8,7 +8,7 @@
*/
#include "aircraftmodel.h"
#include "distributor.h"
#include "distributorlist.h"
#include "blackmisc/datastoreutility.h"
#include "blackmisc/comparefunctions.h"
#include <QString>
@@ -276,6 +276,25 @@ namespace BlackMisc
return this->m_livery.hasValidAirlineDesignator();
}
bool CAircraftModel::hasDistributor() const
{
return this->m_distributor.hasValidDbKey();
}
bool CAircraftModel::matchesDistributor(const CDistributor &distributor) const
{
if (!distributor.hasValidDbKey()) { return false; }
if (!this->hasDistributor()) { return false; }
return this->m_distributor.getDbKey() == distributor.getDbKey();
}
bool CAircraftModel::matchesAnyDistributor(const CDistributorList &distributors) const
{
if (distributors.isEmpty()) { return false; }
if (!this->hasDistributor()) { return false; }
return distributors.matchesAnyKeyOrAlias(this->m_distributor.getDbKey());
}
const CIcon &CAircraftModel::getModelModeAsIcon() const
{
switch (this->getModelMode())