kima2/src/core/marketplace.h

39 lines
772 B
C++

#ifndef MARKETPLACE_H
#define MARKETPLACE_H
#include "article.h"
#include "sale.h"
#include "seller.h"
#include <vector>
namespace
{
using SellersVec = std::vector<std::unique_ptr<Seller>>;
using SalesVec = std::vector<std::unique_ptr<Sale>>;
using BasketVec = std::vector<std::unique_ptr<Article>>;
} // namespace
struct Basket {
};
class Marketplace
{
public:
Marketplace();
void storeToDb(bool onlyDelete = false);
void loadFromDb();
SellersVec& getSellers();
int getNextSellerNo();
int getNumSellersDelete();
void sortSellers();
Seller* findSellerWithSellerNo(int sellerNo);
void addArticleToBasket(std::unique_ptr<Article> article);
private:
SellersVec sellers_;
SalesVec sales_;
BasketVec basket_;
};
#endif