allow to clear database
This commit is contained in:
parent
95a89e568c
commit
badd1595e1
4 changed files with 49 additions and 1 deletions
|
@ -248,4 +248,20 @@ std::string escapeCsvValue(const std::string& value, const char delimiter)
|
|||
}
|
||||
|
||||
return output.str();
|
||||
}
|
||||
|
||||
void Marketplace::clear()
|
||||
{
|
||||
std::for_each(sellers_.begin(), sellers_.end(), [](auto& seller) {
|
||||
if (seller->getUuidAsString() == "11111111-1111-1111-1111-111111111111") {
|
||||
for (auto& article : seller->getArticles()) {
|
||||
article->setState(Article::State::DELETE);
|
||||
}
|
||||
} else {
|
||||
seller->setState(Seller::State::DELETE);
|
||||
}
|
||||
});
|
||||
std::for_each(sales_.begin(), sales_.end(),
|
||||
[](auto& sale) { sale->setState(Sale::State::DELETE); });
|
||||
storeToDb();
|
||||
}
|
|
@ -48,6 +48,8 @@ class Marketplace
|
|||
std::string getOverallPaymentAsString(int percent, int maxFee);
|
||||
std::string getOverallRevenueAsString(int percent, int maxFee);
|
||||
|
||||
void clear();
|
||||
|
||||
void exportReportToCSV(const std::string& filename, int feeInPercent, int maxFeeInEuro);
|
||||
|
||||
friend class ExcelReader;
|
||||
|
|
|
@ -40,6 +40,24 @@ MainWindow::MainWindow()
|
|||
setSaleModel();
|
||||
|
||||
connect(ui_.actionQuit, &QAction::triggered, qApp, QApplication::quit);
|
||||
connect(ui_.newAction, &QAction::triggered, this, [=]() {
|
||||
if (marketplace_->getSellers().size() == 0 && marketplace_->getSales().size() == 0) {
|
||||
return;
|
||||
}
|
||||
auto dlgResult =
|
||||
QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?",
|
||||
"Möchten Sie wirklich alle gespeicherten Daten verwerfen?",
|
||||
QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this)
|
||||
.exec();
|
||||
|
||||
if (dlgResult == QMessageBox::No)
|
||||
return;
|
||||
|
||||
delete ui_.salesView->model();
|
||||
dynamic_cast<BasketModel*>(ui_.basketView->model())->cancelSale();
|
||||
marketplace_->clear();
|
||||
setSaleModel();
|
||||
});
|
||||
connect(ui_.actionEditSeller, &QAction::triggered, this,
|
||||
&MainWindow::onActionEditSellerTriggered);
|
||||
connect(ui_.sellerNoEdit, &QLineEdit::returnPressed, this,
|
||||
|
@ -61,7 +79,9 @@ MainWindow::MainWindow()
|
|||
auto locations = QStandardPaths::standardLocations(QStandardPaths::DataLocation);
|
||||
for (auto location : locations) {
|
||||
if (QFile::exists(location + QString("/Benutzerhandbuch.pdf"))) {
|
||||
QDesktopServices::openUrl(QUrl(QString("file:///") + location + QString("/Benutzerhandbuch.pdf"), QUrl::TolerantMode));
|
||||
QDesktopServices::openUrl(
|
||||
QUrl(QString("file:///") + location + QString("/Benutzerhandbuch.pdf"),
|
||||
QUrl::TolerantMode));
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -298,6 +318,9 @@ void MainWindow::onImportSellerExcelActionTriggered()
|
|||
auto filename = QFileDialog::getOpenFileName(this, "Verkäufer importieren", QString(),
|
||||
"Excel Dateien (*.xlsx *.xls)");
|
||||
|
||||
if (filename.isEmpty())
|
||||
return;
|
||||
|
||||
ExcelReader::readSellersFromFile(filename.toStdString(), marketplace_.get());
|
||||
}
|
||||
|
||||
|
|
|
@ -395,6 +395,8 @@ drucken</string>
|
|||
<property name="title">
|
||||
<string>&Datei</string>
|
||||
</property>
|
||||
<addaction name="newAction"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="configAction"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="actionQuit"/>
|
||||
|
@ -500,6 +502,11 @@ drucken</string>
|
|||
<string>Handbuch</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="newAction">
|
||||
<property name="text">
|
||||
<string>Neu</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
|
Loading…
Reference in a new issue