|
|
|
@ -145,7 +145,7 @@ void Database::beginTransaction() { exec("BEGIN TRANSACTION"); }
|
|
|
|
|
|
|
|
|
|
void Database::endTransaction() { exec("END TRANSACTION"); } |
|
|
|
|
|
|
|
|
|
unsigned int Database::storeSellers(std::vector<std::shared_ptr<Seller>>& sellers) |
|
|
|
|
unsigned int Database::storeSellers(std::vector<std::unique_ptr<Seller>>& sellers) |
|
|
|
|
{ |
|
|
|
|
int retCode{}; |
|
|
|
|
int count{}; |
|
|
|
@ -165,10 +165,9 @@ unsigned int Database::storeSellers(std::vector<std::shared_ptr<Seller>>& seller
|
|
|
|
|
if (retCode != SQLITE_OK) |
|
|
|
|
throw std::runtime_error(sqlite3_errmsg(db_)); |
|
|
|
|
|
|
|
|
|
int test = sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"), |
|
|
|
|
boost::uuids::to_string(seller->getUuid()).c_str(), -1, |
|
|
|
|
SQLITE_TRANSIENT); |
|
|
|
|
std::cout << "!!! TEST: " << test << "\n"; |
|
|
|
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"), |
|
|
|
|
boost::uuids::to_string(seller->getUuid()).c_str(), -1, |
|
|
|
|
SQLITE_TRANSIENT); |
|
|
|
|
sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_no"), |
|
|
|
|
seller->getSellerNo()); |
|
|
|
|
sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":first_name"), |
|
|
|
@ -254,12 +253,14 @@ unsigned int Database::storeSellers(std::vector<std::shared_ptr<Seller>>& seller
|
|
|
|
|
|
|
|
|
|
endTransaction(); |
|
|
|
|
|
|
|
|
|
// Everything went fine, so we can now update our objects
|
|
|
|
|
sellers.erase( |
|
|
|
|
std::remove_if(begin(sellers), end(sellers), [](const std::shared_ptr<Seller>& seller) { |
|
|
|
|
return seller->getState() == Seller::State::DELETE; |
|
|
|
|
})); |
|
|
|
|
for (const auto& seller : sellers) { |
|
|
|
|
// Everything went fine, so we can now update our objects
|
|
|
|
|
sellers.erase(std::remove_if(sellers.begin(), sellers.end(), |
|
|
|
|
[](const std::unique_ptr<Seller>& seller) { |
|
|
|
|
return (seller->getState() == Seller::State::DELETE); |
|
|
|
|
}), |
|
|
|
|
sellers.end()); |
|
|
|
|
|
|
|
|
|
for (auto& seller : sellers) { |
|
|
|
|
seller->cleanupArticles(); |
|
|
|
|
seller->setState(Seller::State::OK); |
|
|
|
|
} |
|
|
|
|