DesignOfExperimentsRecord_Impl::DesignOfExperimentsRecord_Impl(
     const analysis::DesignOfExperiments& designOfExperiments, 
     AnalysisRecord& analysisRecord)
   : OpenStudioAlgorithmRecord_Impl(
         designOfExperiments, 
         OpenStudioAlgorithmRecordType(OpenStudioAlgorithmRecordType::DesignOfExperimentsRecord), 
         analysisRecord),
     m_designOfExperimentsType(designOfExperiments.designOfExperimentsOptions().designType())
 {}
  void OpenStudioAlgorithmRecord_Impl::setLastValues(const QSqlQuery& query, ProjectDatabase& projectDatabase) {
    OS_ASSERT(query.isValid());
    OS_ASSERT(query.isActive());
    OS_ASSERT(query.isSelect());

    AlgorithmRecord_Impl::setLastValues(query,projectDatabase);

    QVariant value;

    value = query.value(OpenStudioAlgorithmRecord::ColumnsType::openStudioAlgorithmRecordType);
    OS_ASSERT(value.isValid() && !value.isNull());
    m_lastOpenStudioAlgorithmRecordType = OpenStudioAlgorithmRecordType(value.toInt());
  }
  bool OpenStudioAlgorithmRecord_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(OpenStudioAlgorithmRecord::ColumnsType::openStudioAlgorithmRecordType);
    OS_ASSERT(value.isValid() && !value.isNull());
    result = result && (m_openStudioAlgorithmRecordType == OpenStudioAlgorithmRecordType(value.toInt()));

    return result;
  }