diff --git a/src/core/jsonutil.cpp b/src/core/jsonutil.cpp index 873bb7b..dc7e4dc 100644 --- a/src/core/jsonutil.cpp +++ b/src/core/jsonutil.cpp @@ -25,7 +25,7 @@ void JsonUtil::exportSellers(const std::filesystem::path& filePath, Marketplace* file << root.dump(4) << std::endl; } -void JsonUtil::importSellers(const std::filesystem::path& filePath, Marketplace* market) +std::size_t JsonUtil::importSellers(const std::filesystem::path& filePath, Marketplace* market) { for (auto& seller : market->getSellers()) { seller->setState(Seller::State::DELETE); @@ -56,8 +56,9 @@ void JsonUtil::importSellers(const std::filesystem::path& filePath, Marketplace* } market->sortSellers(); - market->storeToDb(); + + return market->getSellers().size() - 1; // minus 1 because we don't count the "special" seller } void JsonUtil::exportSales(const std::filesystem::path& filePath, Marketplace* market, int cashPointNo) diff --git a/src/core/jsonutil.h b/src/core/jsonutil.h index 3663dcc..4d06ace 100644 --- a/src/core/jsonutil.h +++ b/src/core/jsonutil.h @@ -10,7 +10,7 @@ class JsonUtil { public: static void exportSellers(const std::filesystem::path& filePath, Marketplace* market); - static void importSellers(const std::filesystem::path& filePath, Marketplace* market); + static std::size_t importSellers(const std::filesystem::path& filePath, Marketplace* market); static void exportSales(const std::filesystem::path& filePath, Marketplace* market, int cashPointNo); static void importSales(const std::filesystem::path& filePath, Marketplace* market, int cashPointNo); }; diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index a39fbbd..0df9658 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -508,8 +508,18 @@ void MainWindow::onImportSellerJsonActionTriggered() fs::path filePath(filename.toStdString()); #endif - JsonUtil::importSellers(filePath, marketplace_.get()); + std::size_t numImported{}; + numImported = JsonUtil::importSellers(filePath, marketplace_.get()); + updateStatLabel(); + + using namespace std::string_literals; + std::ostringstream msg; + msg << "Aus der JSON-Datei wurden "s << std::to_string(numImported) + << " Verkäufer importiert."; + QMessageBox(QMessageBox::Icon::Information, "Verkäufer erfolgreich importiert", + msg.str().c_str(), QMessageBox::StandardButton::Ok, this) + .exec(); } void MainWindow::onExportSellerJsonActionTriggered() @@ -520,7 +530,11 @@ void MainWindow::onExportSellerJsonActionTriggered() if (filename.isEmpty()) return; +#if defined(_WIN64) || defined(_WIN32) fs::path filePath(filename.toStdWString()); +#else + fs::path filePath(filename.toStdString()); +#endif JsonUtil::exportSellers(filePath, marketplace_.get()); }