/*private*/ void EngineModels::loadDefaults() { QStringList models = MODELS.split(","); // NOI18N QStringList hps = HORSEPOWER.split(","); // NOI18N QStringList lengths = ENGINELENGTHS.split(","); // NOI18N QStringList types = ENGINETYPES.split(","); // NOI18N QStringList weights = ENGINEWEIGHTS.split(","); // NOI18N if (models.length() != hps.length() || models.length() != lengths.length() || models.length() != types.length() || models.length() != weights.length()) { log->error(tr("Defaults do not have the right number of items, ") + "models=" + QString::number(models.length()) + " hps=" + QString::number(hps.length()) + " lengths=" + QString::number(lengths.length()) // NOI18N + " types=" + QString::number(types.length())); // NOI18N return; } for (int i = 0; i < models.length(); i++) { setModelHorsepower(models[i], hps[i]); setModelLength(models[i], lengths[i]); setModelType(models[i], types[i]); setModelWeight(models[i], weights[i]); setModelBunit(models[i], false); // there are no B units in the default files } }
db::UpdateQueryPtr AuthorQueryFactory::updateValue(Value value) const { if (!isDataValid()) return nullptr; QString strSql; db::sql::AuthorSqlFactory sqlFactory; switch (value) { case Value::NAME: strSql = sqlFactory.updateNameStmt(); break; case Value::EMAIL: strSql = sqlFactory.updateEmailStmt(); break; case Value::WEBSITE: strSql = sqlFactory.updateWebsiteStmt(); break; default: return nullptr; } assert(!strSql.isEmpty()); db::ContentValues bindValues; const AuthorCVFactory cvFactory{m_pAuthor}; switch (value) { case Value::NAME: bindValues.put(cvFactory.fieldName()); break; case Value::EMAIL: bindValues.put(cvFactory.fieldEmail()); break; case Value::WEBSITE: bindValues.put(cvFactory.fieldWebsite()); break; default: return nullptr; } assert(!bindValues.empty()); bindValues.put(cvFactory.fieldID()); auto ptrUpdateWork = std14_stl::make_unique<db::UpdateQuery>(); switch (value) { case Value::NAME: ptrUpdateWork->setKey(toInt(db::update::authors::NAME)); break; case Value::EMAIL: ptrUpdateWork->setKey(toInt(db::update::authors::EMAIL)); break; case Value::WEBSITE: ptrUpdateWork->setKey(toInt(db::update::authors::WEBSITE)); break; default: return nullptr; } assert(ptrUpdateWork->key() >= 0); auto varExtraKey = QVariant{m_pAuthor->id()}; ptrUpdateWork->setSql(std::move(strSql)); ptrUpdateWork->setModelType(db::SQLModelType::AUTHOR); ptrUpdateWork->setExtraKey(std::move(varExtraKey)); ptrUpdateWork->setBindValues(std::move(bindValues)); return ptrUpdateWork; }
db::UpdateQueryPtr SnippetQueryFactory::updateValue(Value value) const { if (!isDataValid()) return nullptr; QString strSql; db::sql::SnippetSqlFactory sqlFactory; switch (value) { case Value::NAME: strSql = sqlFactory.updateNameStmt(); break; case Value::CONTENT: strSql = sqlFactory.updateContentStmt(); break; case Value::VERSION: strSql = sqlFactory.updateVersionStmt(); break; case Value::DESCRIPTION: strSql = sqlFactory.updateDescriptionStmt(); break; case Value::LANGUAGE_ID: strSql = sqlFactory.updateLanguageIDStmt(); break; case Value::CREATED: strSql = sqlFactory.updateDTCreatedStmt(); break; case Value::MODIFIED: strSql = sqlFactory.updateDTModifiedStmt(); break; default: return nullptr; } assert(!strSql.isEmpty()); db::ContentValues bindValues; const SnippetCVFactory cvFactory{m_pSnippet}; switch (value) { case Value::NAME: bindValues.put(cvFactory.fieldName()); break; case Value::CONTENT: bindValues.put(cvFactory.fieldContent()); break; case Value::VERSION: bindValues.put(cvFactory.fieldVersion()); break; case Value::DESCRIPTION: bindValues.put(cvFactory.fieldDescription()); break; case Value::LANGUAGE_ID: bindValues.put(cvFactory.fieldLanguageID()); break; case Value::CREATED: bindValues.put(cvFactory.fieldDTCreated()); break; case Value::MODIFIED: bindValues.put(cvFactory.fieldDTModified()); break; default: return nullptr; } assert(!bindValues.empty()); bindValues.put(cvFactory.fieldID()); auto ptrUpdateWork = std14_stl::make_unique<db::UpdateQuery>(); switch (value) { case Value::NAME: ptrUpdateWork->setKey(toInt(update::snippets::NAME)); break; case Value::CONTENT: ptrUpdateWork->setKey(toInt(update::snippets::CONTENT)); break; case Value::VERSION: ptrUpdateWork->setKey(toInt(update::snippets::VERSION)); break; case Value::DESCRIPTION: ptrUpdateWork->setKey(toInt(update::snippets::DESCRIPTION)); break; case Value::LANGUAGE_ID: ptrUpdateWork->setKey(toInt(update::snippets::LANGUAGE_ID)); break; case Value::CREATED: ptrUpdateWork->setKey(toInt(update::snippets::CREATED)); break; case Value::MODIFIED: ptrUpdateWork->setKey(toInt(update::snippets::MODIFIED)); break; default: return nullptr; } assert(ptrUpdateWork->key() >= 0); auto varExtraKey = QVariant{m_pSnippet->id()}; ptrUpdateWork->setSql(std::move(strSql)); ptrUpdateWork->setModelType(db::SQLModelType::SNIPPET); ptrUpdateWork->setExtraKey(std::move(varExtraKey)); ptrUpdateWork->setBindValues(std::move(bindValues)); return ptrUpdateWork; }