DakotaAlgorithmRecord_Impl::DakotaAlgorithmRecord_Impl(const QSqlQuery& query, ProjectDatabase& database) : AlgorithmRecord_Impl(query, database) { OS_ASSERT(query.isValid()); OS_ASSERT(query.isActive()); OS_ASSERT(query.isSelect()); QVariant value; value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaAlgorithmRecordType); OS_ASSERT(value.isValid() && !value.isNull()); m_dakotaAlgorithmRecordType = DakotaAlgorithmRecordType(value.toInt()); value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaRestartFileRecordId); if (value.isValid() && !value.isNull()) { m_dakotaRestartFileRecordId = value.toInt(); } value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaOutFileRecordId); if (value.isValid() && !value.isNull()) { m_dakotaOutFileRecordId = value.toInt(); } value = query.value(DakotaAlgorithmRecord::ColumnsType::jobUUID); if (value.isValid() && !value.isNull() && !value.toString().isEmpty()) { m_jobUUID = openstudio::UUID(value.toString()); } }
bool DakotaAlgorithmRecord_Impl::compareValues(const QSqlQuery& query) const { OS_ASSERT(query.isValid()); OS_ASSERT(query.isActive()); OS_ASSERT(query.isSelect()); bool result = AlgorithmRecord_Impl::compareValues(query); QVariant value; value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaAlgorithmRecordType); OS_ASSERT(value.isValid() && !value.isNull()); result = result && (m_dakotaAlgorithmRecordType == DakotaAlgorithmRecordType(value.toInt())); value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaRestartFileRecordId); if (value.isValid() && !value.isNull()) { result = result && m_dakotaRestartFileRecordId && (*m_dakotaRestartFileRecordId == value.toInt()); } else { result = result && !m_dakotaRestartFileRecordId; } value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaOutFileRecordId); if (value.isValid() && !value.isNull()) { result = result && m_dakotaOutFileRecordId && (*m_dakotaOutFileRecordId == value.toInt()); } else { result = result && !m_dakotaOutFileRecordId; } value = query.value(DakotaAlgorithmRecord::ColumnsType::jobUUID); if (value.isValid() && !value.isNull() && !value.toString().isEmpty()) { openstudio::UUID testUUID(value.toString()); result = result && m_lastJobUUID && (m_lastJobUUID.get() == testUUID); }else{ result = result && !m_lastJobUUID; } return result; }
void DakotaAlgorithmRecord_Impl::setLastValues(const QSqlQuery& query, ProjectDatabase& projectDatabase) { BOOST_ASSERT(query.isValid()); BOOST_ASSERT(query.isActive()); BOOST_ASSERT(query.isSelect()); AlgorithmRecord_Impl::setLastValues(query,projectDatabase); QVariant value; value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaAlgorithmRecordType); BOOST_ASSERT(value.isValid() && !value.isNull()); m_lastDakotaAlgorithmRecordType = DakotaAlgorithmRecordType(value.toInt()); value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaRestartFileRecordId); if (value.isValid() && !value.isNull()) { m_lastDakotaRestartFileRecordId = value.toInt(); } else { m_lastDakotaRestartFileRecordId.reset(); } value = query.value(DakotaAlgorithmRecord::ColumnsType::dakotaOutFileRecordId); if (value.isValid() && !value.isNull()) { m_lastDakotaOutFileRecordId = value.toInt(); } else { m_lastDakotaOutFileRecordId.reset(); } value = query.value(DakotaAlgorithmRecord::ColumnsType::jobUUID); if (value.isValid() && !value.isNull() && !value.toString().isEmpty()) { m_lastJobUUID = openstudio::UUID(value.toString()); }else{ m_lastJobUUID.reset(); } }