import export nearly finished
This commit is contained in:
parent
de91a804a0
commit
3ba230d9b9
5 changed files with 72 additions and 5 deletions
|
@ -66,6 +66,9 @@ void JsonUtil::exportSales(const std::string& filename, Marketplace* market, int
|
|||
root["source_no"] = cashPointNo;
|
||||
|
||||
for (const auto& sale : market->getSales()) {
|
||||
if (sale->getSourceNo() != cashPointNo)
|
||||
continue;
|
||||
|
||||
Json::Value newSale;
|
||||
newSale["uuid"] = sale->getUuidAsString();
|
||||
newSale["timestamp"] = sale->getTimestamp();
|
||||
|
@ -100,5 +103,33 @@ void JsonUtil::importSales(const std::string& filename, Marketplace* market, int
|
|||
"hier bereits verwendet.");
|
||||
}
|
||||
|
||||
// TODO: Import sales
|
||||
market->setSalesToDelete(jsonValues["source_no"].asInt());
|
||||
market->storeToDb();
|
||||
|
||||
for (const auto& valSale : jsonValues["sales"]) {
|
||||
auto sale = std::make_unique<Sale>();
|
||||
sale->setUuidFromString(valSale["uuid"].asString());
|
||||
sale->setSourceNo(jsonValues["source_no"].asInt());
|
||||
sale->setTimestamp(valSale["timestamp"].asString());
|
||||
for (const auto& valArticle : valSale["articles"]) {
|
||||
auto article = std::make_unique<Article>();
|
||||
article->setUuidFromString(valArticle["uuid"].asString());
|
||||
article->setSourceNo(jsonValues["source_no"].asInt());
|
||||
article->setArticleNo(valArticle["article_no"].asInt());
|
||||
article->setDescription(valArticle["desc"].asString());
|
||||
article->setPrice(valArticle["price"].asInt());
|
||||
auto seller = market->findSellerWithUuid(valArticle["seller_uuid"].asString());
|
||||
if (seller == nullptr) {
|
||||
throw std::runtime_error(
|
||||
"Die zu importierenden Daten verweisen auf einen nicht vorhandenen Verkäufer. "
|
||||
"Die Daten konnten nicht importiert werden.");
|
||||
// continue;
|
||||
}
|
||||
sale->addArticle(article.get());
|
||||
seller->addArticle(std::move(article));
|
||||
}
|
||||
market->getSales().push_back(std::move(sale));
|
||||
}
|
||||
|
||||
market->storeToDb();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue