diff --git a/src/core/jsonutil.cpp b/src/core/jsonutil.cpp index bd24b4e..095a7b0 100644 --- a/src/core/jsonutil.cpp +++ b/src/core/jsonutil.cpp @@ -102,8 +102,10 @@ void JsonUtil::importSales(const std::filesystem::path &filePath, Marketplace *m int source_no = jsonValues["source_no"]; if (source_no == cashPointNo) { - throw std::runtime_error("Die Kassen-Nr. der zu imporierenden Daten wird von dieser Kasse " - "hier bereits verwendet."); + std::string ret = "Die Kassen-Nr. "; + ret += std::to_string(source_no); + ret += " der zu imporierenden Daten wird von dieser Kasse hier bereits verwendet."; + throw std::runtime_error(ret); } market->setSalesToDelete(jsonValues["source_no"]); diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index d61a95e..a94b7f1 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -504,27 +504,30 @@ void MainWindow::onImportSalesJsonActionTriggered() { QSettings settings; - auto filename = QFileDialog::getOpenFileName(this, "Umsätze/Transaktionen importieren", + auto filenames = QFileDialog::getOpenFileNames(this, "Umsätze/Transaktionen importieren", QString(), "JSON Dateien (*.json)"); - if (filename.isEmpty()) + if (filenames.isEmpty()) return; + for(auto filename: filenames) { #if defined(_WIN64) || defined(_WIN32) - fs::path filePath(filename.toStdWString()); + fs::path filePath(filename.toStdWString()); #else - fs::path filePath(filename.toStdString()); + fs::path filePath(filename.toStdString()); #endif - delete m_ui.salesView->model(); - try { - JsonUtil::importSales(filePath, m_marketplace.get(), - settings.value("global/cashPointNo").toInt()); - } catch (std::runtime_error &err) { - QMessageBox(QMessageBox::Icon::Warning, "Import nicht möglich", err.what(), QMessageBox::Ok, - this) - .exec(); + delete m_ui.salesView->model(); + try { + JsonUtil::importSales(filePath, m_marketplace.get(), + settings.value("global/cashPointNo").toInt()); + } catch (std::runtime_error &err) { + QMessageBox(QMessageBox::Icon::Warning, "Import nicht möglich", err.what(), QMessageBox::Ok, + this) + .exec(); + } } + setSaleModel(); updateStatLabel(); }