#include "CDPropertyEntranceComponentTable.h" CDPropertyEntranceComponentTable::CDPropertyEntranceComponentTable() { // First, get the size of the table size_t size = 0; auto tableSize = CDClientDatabase::ExecuteQuery("SELECT COUNT(*) FROM PropertyEntranceComponent"); while (!tableSize.eof()) { size = tableSize.getIntField(0, 0); tableSize.nextRow(); } tableSize.finalize(); this->entries.reserve(size); auto tableData = CDClientDatabase::ExecuteQuery("SELECT * FROM PropertyEntranceComponent;"); while (!tableData.eof()) { auto entry = CDPropertyEntranceComponent{ static_cast(tableData.getIntField(0, -1)), static_cast(tableData.getIntField(1, -1)), tableData.getStringField(2, ""), static_cast(tableData.getIntField(3, false)), tableData.getStringField(4, "") }; this->entries.push_back(entry); tableData.nextRow(); } tableData.finalize(); } CDPropertyEntranceComponentTable::~CDPropertyEntranceComponentTable(void) = default; std::string CDPropertyEntranceComponentTable::GetName() const { return "PropertyEntranceComponent"; } CDPropertyEntranceComponent CDPropertyEntranceComponentTable::GetByID(uint32_t id) { for (const auto& entry : entries) { if (entry.id == id) return entry; } return defaultEntry; }