diff --git a/src/core/excelreader.cpp b/src/core/excelreader.cpp index f136a34..7225c78 100644 --- a/src/core/excelreader.cpp +++ b/src/core/excelreader.cpp @@ -4,6 +4,11 @@ void ExcelReader::readSellersFromFile(const std::string& filename, Marketplace* market) { + for (auto& seller : market->getSellers()) { + seller->setState(Seller::State::DELETE); + } + market->storeToDb(true); + xlnt::workbook wb; wb.load(filename); auto ws = wb.sheet_by_index(0); @@ -15,12 +20,23 @@ void ExcelReader::readSellersFromFile(const std::string& filename, Marketplace* for (const auto& row : ws.rows(false)) { // auto test = row[0].value(); if (rowCount < START_ROW) { - rowCount++; + ++rowCount; continue; } else if (rowCount > END_ROW) { break; } - std::cout << row[0].value() << "\n"; + if(row[2].value().empty() && row[3].value().empty()) { + ++rowCount; + continue; + } + auto seller = std::make_unique(); + seller->createUuid(); + seller->setSellerNo(row[0].value()); + seller->setNumArticlesOffered(row[1].value()); + seller->setFirstName(row[2].value()); + seller->setLastName(row[3].value()); + market->getSellers().push_back(std::move(seller)); rowCount++; } + market->storeToDb(); }