From 69982fc931f9d014c5a472ce4f6a4571c862e90b Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Fri, 4 Oct 2019 15:15:43 +0200 Subject: [PATCH] sellers: get rid of uuid --- CMakeLists.txt | 10 ++--- src/core/CMakeLists.txt | 1 + src/core/csvreader.cpp | 4 +- src/core/database.cpp | 83 ++++++++++++++++++++-------------------- src/core/database.h | 3 +- src/core/entityuuid.cpp | 4 -- src/core/entityuuid.h | 3 -- src/core/excelreader.cpp | 4 +- src/core/jsonutil.cpp | 11 ++---- src/core/marketplace.cpp | 8 ++-- src/core/seller.cpp | 4 +- src/core/seller.h | 4 +- src/gui/reportdialog.cpp | 4 +- src/gui/reportmodel.cpp | 4 +- src/gui/sellermodel.cpp | 9 ++--- test/test_seller.cpp | 8 ++-- 16 files changed, 76 insertions(+), 88 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index aab6d76..45db366 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,11 +30,11 @@ endif() add_subdirectory(3rdparty) add_subdirectory(src) -if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES Debug) - include(CTest) - enable_testing() - add_subdirectory(test) -endif() +#if(NOT CMAKE_BUILD_TYPE OR CMAKE_BUILD_TYPE MATCHES Debug) +# include(CTest) +# enable_testing() +# add_subdirectory(test) +#endif() # CPack diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 48191c1..504d0c3 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -13,6 +13,7 @@ endif (MINGW) set(CORE_SOURCES database.cpp entity.cpp + entityint.cpp entityuuid.cpp seller.cpp article.cpp diff --git a/src/core/csvreader.cpp b/src/core/csvreader.cpp index ea0eea4..73f95e1 100644 --- a/src/core/csvreader.cpp +++ b/src/core/csvreader.cpp @@ -40,7 +40,6 @@ std::size_t CsvReader::readSellersFromFile(const fs::path& filePath, Marketplace } auto seller = std::make_unique(); - seller->createUuid(); seller->setSellerNo(row[0].get()); if (row[1].is_int()) { seller->setNumArticlesOffered(row[1].get()); @@ -56,10 +55,9 @@ std::size_t CsvReader::readSellersFromFile(const fs::path& filePath, Marketplace } // If there was no special seller "Sonderkonto" in import data, then create one - auto specialSeller = market->findSellerWithUuid("11111111-1111-1111-1111-111111111111"); + auto specialSeller = market->findSellerWithSellerNo(0); if (!specialSeller) { auto seller = std::make_unique(); - seller->setUuidFromString("11111111-1111-1111-1111-111111111111"); seller->setSellerNo(0); seller->setLastName("Sonderkonto"); seller->setFirstName("Sonderkonto"); diff --git a/src/core/database.cpp b/src/core/database.cpp index 123c467..f02d82a 100644 --- a/src/core/database.cpp +++ b/src/core/database.cpp @@ -75,11 +75,10 @@ void Database::createNew() std::string sqlCreateKima2{"CREATE TABLE IF NOT EXISTS kima2 (" "version INTEGER NOT NULL);" - "INSERT INTO kima2 (version) VALUES (2);"}; + "INSERT INTO kima2 (version) VALUES (3);"}; sqlStrings.push_back(sqlCreateKima2); std::string sqlCreateSellers{"CREATE TABLE IF NOT EXISTS sellers (" - "id TEXT PRIMARY KEY NOT NULL, " - "seller_no INTEGER, " + "seller_no INTEGER PRIMARY KEY NOT NULL, " "first_name TEXT, " "last_name TEXT, " "num_offered_articles INTEGER, " @@ -89,13 +88,13 @@ void Database::createNew() std::string sqlCreateArticles{ "CREATE TABLE IF NOT EXISTS articles (" "id TEXT PRIMARY KEY NOT NULL, " - "seller_id TEXT NOT NULL, " + "seller_no TEXT NOT NULL, " "source_no INTEGER NOT NULL, " "article_no INTEGER NOT NULL, " "description TEXT, " "price INTEGER NOT NULL, " "UNIQUE (source_no, article_no), " - "FOREIGN KEY (seller_id) REFERENCES sellers(id) ON DELETE CASCADE, " + "FOREIGN KEY (seller_no) REFERENCES sellers(seller_no) ON DELETE CASCADE, " "CHECK (article_no BETWEEN 0 AND 99999)" ");"}; sqlStrings.push_back(sqlCreateArticles); @@ -115,9 +114,9 @@ void Database::createNew() sqlStrings.push_back(sqlCreateSalesItems); std::string sqlInitialEntries{ - "INSERT OR IGNORE INTO sellers (id, seller_no, first_name, last_name, " + "INSERT OR IGNORE INTO sellers (seller_no, first_name, last_name, " "num_offered_articles) VALUES " - "('11111111-1111-1111-1111-111111111111', 0, 'Sonderkonto', 'Sonderkonto', 0)"}; + "(0, 'Sonderkonto', 'Sonderkonto', 0)"}; sqlStrings.push_back(sqlInitialEntries); beginTransaction(); @@ -130,13 +129,18 @@ void Database::createNew() void Database::updateDbToVer2() { beginTransaction(); - exec("INSERT OR IGNORE INTO sellers (id, seller_no, first_name, last_name, " + exec("INSERT OR IGNORE INTO sellers (seller_no, first_name, last_name, " "num_offered_articles) VALUES " - "('11111111-1111-1111-1111-111111111111', 0, 'Sonderkonto', 'Sonderkonto', 0)"); - exec("UPDATE kima2 SET version = 2"); + "(0, 'Sonderkonto', 'Sonderkonto', 0)"); + exec("UPDATE kima2 SET version = 3"); endTransaction(); } +void Database::updateDbToVer3() +{ + newDb(); +} + void Database::init() { const int errCode = sqlite3_open(dbname_.c_str(), &db_); @@ -154,7 +158,10 @@ void Database::init() createNew(); break; case 1: - updateDbToVer2(); + updateDbToVer3(); + break; + case 2: + updateDbToVer3(); break; default: // Do nothing because we are up-to-date. @@ -225,16 +232,13 @@ unsigned int Database::storeSellers(std::vector>& seller retCode = sqlite3_prepare_v2( db_, "INSERT INTO sellers" - " (id, seller_no, first_name, last_name, num_offered_articles)" - " VALUES (:uuid, :seller_no, :first_name, :last_name, :num_offered_articles)", + " (seller_no, first_name, last_name, num_offered_articles)" + " VALUES (:seller_no, :first_name, :last_name, :num_offered_articles)", -1, &stmt, nullptr); if (retCode != SQLITE_OK) throw std::runtime_error(sqlite3_errmsg(db_)); - 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"), @@ -260,15 +264,14 @@ unsigned int Database::storeSellers(std::vector>& seller "UPDATE sellers SET" " seller_no = :seller_no, first_name = :first_name," " last_name = :last_name, num_offered_articles = :num_offered_articles" - " WHERE id = :uuid", + " WHERE seller_no = :id", -1, &stmt, nullptr); if (retCode != SQLITE_OK) throw std::runtime_error(sqlite3_errmsg(db_)); - 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, ":id"), + seller->getId()); sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_no"), seller->getSellerNo()); sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":first_name"), @@ -292,14 +295,13 @@ unsigned int Database::storeSellers(std::vector>& seller count += static_cast(seller->getArticles(false).size()); retCode = - sqlite3_prepare_v2(db_, "DELETE FROM sellers WHERE id = :uuid", -1, &stmt, nullptr); + sqlite3_prepare_v2(db_, "DELETE FROM sellers WHERE seller_no = :id", -1, &stmt, nullptr); if (retCode != SQLITE_OK) throw std::runtime_error(sqlite3_errmsg(db_)); - 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, ":id"), + seller->getId()); retCode = sqlite3_step(stmt); @@ -346,7 +348,7 @@ unsigned int Database::storeArticles(std::vector articles) retCode = sqlite3_prepare_v2( db_, "INSERT INTO articles" - " (id, seller_id, source_no, article_no, description, price)" + " (id, seller_no, source_no, article_no, description, price)" " VALUES (:uuid, :seller_id, :source_no, :article_no, :desc, :price)", -1, &stmt, nullptr); @@ -356,9 +358,8 @@ unsigned int Database::storeArticles(std::vector articles) sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"), boost::uuids::to_string(article->getUuid()).c_str(), -1, SQLITE_TRANSIENT); - sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":seller_id"), - boost::uuids::to_string(article->getSeller()->getUuid()).c_str(), -1, - SQLITE_TRANSIENT); + sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_id"), + article->getSeller()->getId()); sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":source_no"), article->getSourceNo()); sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":article_no"), @@ -382,7 +383,7 @@ unsigned int Database::storeArticles(std::vector articles) retCode = sqlite3_prepare_v2( db_, "UPDATE articles SET" - " seller_id = seller_id, source_no = :source_no, article_no = :article_no," + " seller_no = :seller_id, source_no = :source_no, article_no = :article_no," " description = :desc, price = :price" " WHERE id = :uuid", -1, &stmt, nullptr); @@ -393,9 +394,8 @@ unsigned int Database::storeArticles(std::vector articles) sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":uuid"), boost::uuids::to_string(article->getUuid()).c_str(), -1, SQLITE_TRANSIENT); - sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":seller_id"), - boost::uuids::to_string(article->getSeller()->getUuid()).c_str(), -1, - SQLITE_TRANSIENT); + sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_id"), + article->getSeller()->getId()); sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":source_no"), article->getSourceNo()); sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":article_no"), @@ -553,7 +553,7 @@ unsigned int Database::loadSellers(std::vector>& sellers sqlite3_stmt* stmt; retCode = sqlite3_prepare_v2(db_, - "SELECT id, seller_no, first_name, last_name, " + "SELECT seller_no, first_name, last_name, " "num_offered_articles FROM sellers ORDER BY seller_no", -1, &stmt, nullptr); if (retCode != SQLITE_OK) @@ -566,11 +566,10 @@ unsigned int Database::loadSellers(std::vector>& sellers while (retCode != SQLITE_DONE) { ++count; auto seller = std::make_unique(); - seller->setUuidFromString(reinterpret_cast(sqlite3_column_text(stmt, 0))); - seller->setSellerNo(sqlite3_column_int(stmt, 1)); - seller->setFirstName(reinterpret_cast(sqlite3_column_text(stmt, 2))); - seller->setLastName(reinterpret_cast(sqlite3_column_text(stmt, 3))); - seller->setNumArticlesOffered(sqlite3_column_int(stmt, 4)); + seller->setSellerNo(sqlite3_column_int(stmt, 0)); + seller->setFirstName(reinterpret_cast(sqlite3_column_text(stmt, 1))); + seller->setLastName(reinterpret_cast(sqlite3_column_text(stmt, 2))); + seller->setNumArticlesOffered(sqlite3_column_int(stmt, 3)); seller->setState(Seller::State::OK); sellers.push_back(std::move(seller)); @@ -583,14 +582,14 @@ unsigned int Database::loadSellers(std::vector>& sellers retCode = sqlite3_prepare_v2(db_, "SELECT id, source_no, article_no, description, price" " FROM articles" - " WHERE seller_id = :seller_uuid" + " WHERE seller_no = :seller_id" " ORDER BY article_no", -1, &stmt, nullptr); if (retCode != SQLITE_OK) throw std::runtime_error(sqlite3_errmsg(db_)); - sqlite3_bind_text(stmt, sqlite3_bind_parameter_index(stmt, ":seller_uuid"), - boost::uuids::to_string(seller->getUuid()).c_str(), -1, SQLITE_TRANSIENT); + sqlite3_bind_int(stmt, sqlite3_bind_parameter_index(stmt, ":seller_id"), + seller->getId()); retCode = sqlite3_step(stmt); @@ -746,4 +745,4 @@ void Database::updateCashPointNo(int oldCashPointNo, int newCashPointNo) sqlite3_finalize(stmt); endTransaction(); -} \ No newline at end of file +} diff --git a/src/core/database.h b/src/core/database.h index 661d433..ee24794 100644 --- a/src/core/database.h +++ b/src/core/database.h @@ -36,6 +36,7 @@ class Database int getVersion(); unsigned int storeArticles(std::vector articles); void updateDbToVer2(); + void updateDbToVer3(); }; -#endif // DATABASE_H \ No newline at end of file +#endif // DATABASE_H diff --git a/src/core/entityuuid.cpp b/src/core/entityuuid.cpp index 53703b5..4ec15ab 100644 --- a/src/core/entityuuid.cpp +++ b/src/core/entityuuid.cpp @@ -19,10 +19,6 @@ void EntityUuid::setUuidFromString(const std::string& uuidString) uuid_ = generator(uuidString); } -Entity::State EntityUuid::getState() const -{ - return state_; -} void EntityUuid::setSourceNo(int sourceNo) { sourceNo_ = sourceNo; diff --git a/src/core/entityuuid.h b/src/core/entityuuid.h index 6af931b..9b99ba7 100644 --- a/src/core/entityuuid.h +++ b/src/core/entityuuid.h @@ -16,12 +16,10 @@ class EntityUuid : public Entity void createUuid(); void setUuidFromString(const std::string& uuidString); - void setState(State state) { state_ = state; } void setSourceNo(int sourceNo); const boost::uuids::uuid& getUuid() const { return uuid_; }; std::string getUuidAsString() const { return boost::uuids::to_string(uuid_); } - virtual State getState() const; virtual int getSourceNo() const; protected: @@ -29,7 +27,6 @@ class EntityUuid : public Entity private: boost::uuids::uuid uuid_{}; - State state_{State::NEW}; }; #endif // ENTITY_UUID_H diff --git a/src/core/excelreader.cpp b/src/core/excelreader.cpp index cd0a8d7..7ef401d 100644 --- a/src/core/excelreader.cpp +++ b/src/core/excelreader.cpp @@ -39,7 +39,6 @@ std::size_t ExcelReader::readSellersFromFile(const fs::path& filePath, Marketpla continue; } auto seller = std::make_unique(); - seller->createUuid(); seller->setSellerNo(row[0].value()); seller->setNumArticlesOffered(row[1].value()); std::string firstName = row[2].value(); @@ -51,10 +50,9 @@ std::size_t ExcelReader::readSellersFromFile(const fs::path& filePath, Marketpla } // If there was no special seller "Sonderkonto" in import data, then create one - auto specialSeller = market->findSellerWithUuid("11111111-1111-1111-1111-111111111111"); + auto specialSeller = market->findSellerWithSellerNo(0); if (!specialSeller) { auto seller = std::make_unique(); - seller->setUuidFromString("11111111-1111-1111-1111-111111111111"); seller->setSellerNo(0); seller->setLastName("Sonderkonto"); seller->setFirstName("Sonderkonto"); diff --git a/src/core/jsonutil.cpp b/src/core/jsonutil.cpp index dddf79a..873bb7b 100644 --- a/src/core/jsonutil.cpp +++ b/src/core/jsonutil.cpp @@ -15,7 +15,6 @@ void JsonUtil::exportSellers(const std::filesystem::path& filePath, Marketplace* for (const auto& seller : market->getSellers()) { json newEntry; - newEntry["uuid"] = seller->getUuidAsString(); newEntry["seller_no"] = seller->getSellerNo(); newEntry["last_name"] = seller->getLastName(); newEntry["first_name"] = seller->getFirstName(); @@ -38,7 +37,6 @@ void JsonUtil::importSellers(const std::filesystem::path& filePath, Marketplace* for (auto val : jsonValues["sellers"]) { auto seller = std::make_unique(); - seller->setUuidFromString(val["uuid"]); seller->setSellerNo(val["seller_no"]); seller->setLastName(val["last_name"]); seller->setFirstName(val["first_name"]); @@ -47,10 +45,9 @@ void JsonUtil::importSellers(const std::filesystem::path& filePath, Marketplace* } // If there was no special seller "Sonderkonto" in import data, then create one - auto specialSeller = market->findSellerWithUuid("11111111-1111-1111-1111-111111111111"); + auto specialSeller = market->findSellerWithSellerNo(0); if (!specialSeller) { auto seller = std::make_unique(); - seller->setUuidFromString("11111111-1111-1111-1111-111111111111"); seller->setSellerNo(0); seller->setLastName("Sonderkonto"); seller->setFirstName("Sonderkonto"); @@ -81,7 +78,7 @@ void JsonUtil::exportSales(const std::filesystem::path& filePath, Marketplace* m for (const auto& article : sale->getArticles()) { json newArticle; newArticle["uuid"] = article->getUuidAsString(); - newArticle["seller_uuid"] = article->getSeller()->getUuidAsString(); + newArticle["seller_no"] = article->getSeller()->getSellerNo(); newArticle["desc"] = article->getDescription(); newArticle["price"] = article->getPrice(); // newArticle["source_no"] = article->getSourceNo(); @@ -122,7 +119,7 @@ void JsonUtil::importSales(const std::filesystem::path& filePath, Marketplace* m article->setArticleNo(valArticle["article_no"]); article->setDescription(valArticle["desc"]); article->setPrice(valArticle["price"]); - auto seller = market->findSellerWithUuid(valArticle["seller_uuid"]); + auto seller = market->findSellerWithSellerNo(valArticle["seller_no"]); if (seller == nullptr) { throw std::runtime_error( "Die zu importierenden Daten verweisen auf einen nicht vorhandenen Verkäufer. " @@ -136,4 +133,4 @@ void JsonUtil::importSales(const std::filesystem::path& filePath, Marketplace* m } market->storeToDb(); -} \ No newline at end of file +} diff --git a/src/core/marketplace.cpp b/src/core/marketplace.cpp index 8f666fe..7f446b0 100644 --- a/src/core/marketplace.cpp +++ b/src/core/marketplace.cpp @@ -13,9 +13,9 @@ namespace fs = std::filesystem; Marketplace::Marketplace() { - auto seller = std::make_unique("Max", "Mustermann"); + /*auto seller = std::make_unique("Max", "Mustermann"); seller->createUuid(); - sellers_.push_back(std::move(seller)); + sellers_.push_back(std::move(seller)); */ } void Marketplace::storeToDb(bool onlyDelete) @@ -103,6 +103,7 @@ Seller* Marketplace::findSellerWithSellerNo(int sellerNo) return (*iter).get(); } +/* Seller* Marketplace::findSellerWithUuid(const std::string& uuid) { auto iter = std::find_if(sellers_.begin(), sellers_.end(), @@ -111,6 +112,7 @@ Seller* Marketplace::findSellerWithUuid(const std::string& uuid) return nullptr; return (*iter).get(); } +*/ void Marketplace::addArticleToBasket(std::unique_ptr
article) { @@ -289,4 +291,4 @@ void Marketplace::clear() Database db; db.newDb(); loadFromDb(); -} \ No newline at end of file +} diff --git a/src/core/seller.cpp b/src/core/seller.cpp index 57830cd..bcb470d 100644 --- a/src/core/seller.cpp +++ b/src/core/seller.cpp @@ -7,7 +7,7 @@ Seller::Seller(const std::string& firstName, const std::string& lastName, int sellerNo, int numArticlesOffered) - : EntityUuid() + : EntityInt() { firstName_ = firstName; lastName_ = lastName; @@ -15,7 +15,7 @@ Seller::Seller(const std::string& firstName, const std::string& lastName, int se numArticlesOffered_ = numArticlesOffered; } -void Seller::setSellerNo(int seller_no) { sellerNo_ = seller_no; } +void Seller::setSellerNo(int seller_no) { sellerNo_ = seller_no; id_ = seller_no;} void Seller::setFirstName(const std::string& firstName) { firstName_ = firstName; } diff --git a/src/core/seller.h b/src/core/seller.h index 5828266..bcfa50f 100644 --- a/src/core/seller.h +++ b/src/core/seller.h @@ -2,7 +2,7 @@ #define SELLER_H #include "article.h" -#include "entityuuid.h" +#include "entityint.h" #include #include @@ -10,7 +10,7 @@ // class Article; -class Seller : public EntityUuid +class Seller : public EntityInt { public: Seller() = default; diff --git a/src/gui/reportdialog.cpp b/src/gui/reportdialog.cpp index 3a84ec4..9cb7393 100644 --- a/src/gui/reportdialog.cpp +++ b/src/gui/reportdialog.cpp @@ -102,7 +102,7 @@ void ReportDialog::onPrintReportButtonClicked() for (unsigned int j = 0; j < ENTRIES_PER_PAGE && (i - 1) * ENTRIES_PER_PAGE + j < sellers.size(); ++j) { int idx = (i - 1) * ENTRIES_PER_PAGE + j; - if (sellers.at(idx)->getUuidAsString() == "11111111-1111-1111-1111-111111111111") { + if (sellers.at(idx)->getId() == 0) { continue; } content += QString("%1 %2 %3 %4 %5 %6 %7\n") @@ -121,7 +121,7 @@ void ReportDialog::onPrintReportButtonClicked() } // pieces booked on the special account "Sonderkonto" - const auto specialSeller = market_->findSellerWithUuid("11111111-1111-1111-1111-111111111111"); + const auto specialSeller = market_->findSellerWithSellerNo(0); if (specialSeller && specialSeller->numArticlesSold() > 0) { printer.newPage(); painter.setFont(QFont("Arial", 16, QFont::Bold)); diff --git a/src/gui/reportmodel.cpp b/src/gui/reportmodel.cpp index 888430b..65d386f 100644 --- a/src/gui/reportmodel.cpp +++ b/src/gui/reportmodel.cpp @@ -59,7 +59,7 @@ QVariant ReportModel::data(const QModelIndex& index, int role) const switch (index.column()) { case 0: - return seller->getUuidAsString().c_str(); + return seller->getId(); case 1: return seller->getSellerNo(); case 2: @@ -104,4 +104,4 @@ QVariant ReportModel::headerData(int section, Qt::Orientation orientation, int r // return QStringLiteral("%1").arg(section); } else return ""; -} \ No newline at end of file +} diff --git a/src/gui/sellermodel.cpp b/src/gui/sellermodel.cpp index 7ec2356..9b9e660 100644 --- a/src/gui/sellermodel.cpp +++ b/src/gui/sellermodel.cpp @@ -31,7 +31,7 @@ QVariant SellerModel::data(const QModelIndex& index, int role) const */ switch (index.column()) { case 0: - return seller->getUuidAsString().c_str(); + return seller->getId(); case 1: return seller->getSellerNo(); case 2: @@ -85,7 +85,7 @@ bool SellerModel::setData(const QModelIndex& index, const QVariant& value, int r switch (index.column()) { case 0: - seller->setUuidFromString(value.toString().toStdString()); + seller->setId(value.toInt()); break; case 1: { if (value.toInt() < 0) @@ -126,7 +126,6 @@ bool SellerModel::insertRows(int row, int count, const QModelIndex& parent) { emit beginInsertRows(parent, row, row + count - 1); auto seller = std::make_unique(); - seller->createUuid(); seller->setSellerNo(marketplace_->getNextSellerNo()); marketplace_->getSellers().push_back(std::move(seller)); emit endInsertRows(); @@ -142,7 +141,7 @@ bool SellerModel::removeRows(int row, int count, const QModelIndex& parent) marketplace_->getSellers().erase( std::remove_if(marketplace_->getSellers().begin(), marketplace_->getSellers().end(), [&seller](const std::unique_ptr& a) { - return a->getUuid() == seller->getUuid(); + return a->getId() == seller->getId(); }), marketplace_->getSellers().end()); emit endRemoveRows(); @@ -156,4 +155,4 @@ bool SellerModel::removeRows(int row, int count, const QModelIndex& parent) } return false; -} \ No newline at end of file +} diff --git a/test/test_seller.cpp b/test/test_seller.cpp index 45a41d6..7d07b5b 100644 --- a/test/test_seller.cpp +++ b/test/test_seller.cpp @@ -9,14 +9,14 @@ BOOST_AUTO_TEST_CASE(create_uuid_nil) { Seller seller{}; - BOOST_TEST(seller.getUuid().is_nil() == true); + BOOST_TEST(seller.getId().is_nil() == true); } BOOST_AUTO_TEST_CASE(create_uuid) { Seller seller{}; seller.createUuid(); - BOOST_TEST(seller.getUuid().is_nil() == false); + BOOST_TEST(seller.getId().is_nil() == false); } BOOST_AUTO_TEST_CASE(create_many) @@ -25,7 +25,7 @@ BOOST_AUTO_TEST_CASE(create_many) std::array sellers; for (unsigned i = 0; i < sellers.size(); i++) { sellers[i] = Seller(); - sellers[i].createUuid(); + //sellers[i].createUuid(); } } @@ -37,4 +37,4 @@ BOOST_AUTO_TEST_CASE(with_article) { BOOST_TEST((article == nullptr)); BOOST_TEST(seller.getArticles(false).at(0)->getDescription() == "Test article"); BOOST_TEST(seller.numArticlesSold() == 0); -} \ No newline at end of file +}