#include "marketplace.h" #include "database.h" #include Marketplace::Marketplace() { auto seller = std::make_unique("Max", "Mustermann"); seller->createUuid(); sellers_.push_back(std::move(seller)); } void Marketplace::storeToDb(bool onlyDelete) { Database db; db.storeSellers(sellers_, onlyDelete); } void Marketplace::loadFromDb() { Database db; db.loadSellers(sellers_); } SellersVec& Marketplace::getSellers() { return sellers_; } int Marketplace::getNextSellerNo() { auto iter = std::max_element( sellers_.begin(), sellers_.end(), [](const auto& a, const auto& b) -> bool { return a->getSellerNo() < b->getSellerNo(); }); if (iter == sellers_.end()) return 1; return (*iter)->getSellerNo() + 1; } int Marketplace::getNumSellersDelete() { int count = std::count_if(sellers_.begin(), sellers_.end(), [](const auto& a) { return a->getState() == Seller::State::DELETE; }); return count; } void Marketplace::sortSellers() { std::sort(sellers_.begin(), sellers_.end()); } Seller* Marketplace::findSellerWithSellerNo(int sellerNo) { auto iter = std::find_if(sellers_.begin(), sellers_.end(), [sellerNo](const auto& a) { return a->getSellerNo() == sellerNo; }); if (iter == sellers_.end()) return nullptr; return (*iter).get(); } void Marketplace::addArticleToBasket(std::unique_ptr
article) { basket_.push_back(std::move(article)); }