#ifndef MARKETPLACE_H #define MARKETPLACE_H #include "article.h" #include "sale.h" #include "seller.h" #include namespace { using SellersVec = std::vector>; using SalesVec = std::vector>; using BasketVec = std::vector>; } // namespace struct Basket { }; class Marketplace { public: Marketplace(); void storeToDb(bool onlyDelete = false); void loadFromDb(); SellersVec& getSellers(); SalesVec& getSales(); int getNextSellerNo(); int getNextArticleNo(); int getNumSellersDelete(); BasketVec& getBasket(); int getBasketSumInCent(); std::string getBasketSumAsString(); void sortSellers(); Seller* findSellerWithSellerNo(int sellerNo); void addArticleToBasket(std::unique_ptr
article); size_t basketSize(); void finishCurrentSale(); void removeSale(boost::uuids::uuid uuid); private: SellersVec sellers_; SalesVec sales_; BasketVec basket_; }; #endif