|
|
|
@ -397,5 +397,41 @@ unsigned int Database::storeArticles(std::vector<Article*> articles)
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return count; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
unsigned int Database::loadSellers(std::vector<std::unique_ptr<Seller>>& sellers) |
|
|
|
|
{ |
|
|
|
|
int retCode{}; |
|
|
|
|
int count{}; |
|
|
|
|
sqlite3_stmt* stmt; |
|
|
|
|
|
|
|
|
|
retCode = sqlite3_prepare_v2(db_, |
|
|
|
|
"SELECT id, seller_no, first_name, last_name, " |
|
|
|
|
"num_offered_articles FROM sellers ORDER BY seller_no", |
|
|
|
|
-1, &stmt, nullptr); |
|
|
|
|
if (retCode != SQLITE_OK) |
|
|
|
|
throw std::runtime_error(sqlite3_errmsg(db_)); |
|
|
|
|
|
|
|
|
|
retCode = sqlite3_step(stmt); |
|
|
|
|
|
|
|
|
|
sellers.clear(); |
|
|
|
|
|
|
|
|
|
while (retCode != SQLITE_DONE) { |
|
|
|
|
++count; |
|
|
|
|
auto seller = std::make_unique<Seller>(); |
|
|
|
|
seller->setUuidFromString(reinterpret_cast<const char*>(sqlite3_column_text(stmt, 0))); |
|
|
|
|
seller->setSellerNo(sqlite3_column_int(stmt, 1)); |
|
|
|
|
seller->setFirstName(reinterpret_cast<const char*>(sqlite3_column_text(stmt, 2))); |
|
|
|
|
seller->setLastName(reinterpret_cast<const char*>(sqlite3_column_text(stmt, 3))); |
|
|
|
|
seller->setNumArticlesOffered(sqlite3_column_int(stmt, 4)); |
|
|
|
|
seller->setState(Seller::State::OK); |
|
|
|
|
sellers.push_back(std::move(seller)); |
|
|
|
|
|
|
|
|
|
retCode = sqlite3_step(stmt); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
sqlite3_finalize(stmt); |
|
|
|
|
|
|
|
|
|
return count; |
|
|
|
|
} |