kima2/src/core/marketplace.cpp

44 lines
1.0 KiB
C++
Raw Normal View History

2018-07-13 13:04:19 +02:00
#include "marketplace.h"
#include "database.h"
2018-07-16 18:04:25 +02:00
#include <algorithm>
2018-07-16 12:00:17 +02:00
Marketplace::Marketplace()
{
2018-07-16 15:30:24 +02:00
auto seller = std::make_unique<Seller>("Max", "Mustermann");
2018-07-16 18:04:25 +02:00
seller->createUuid();
2018-07-16 15:30:24 +02:00
sellers_.push_back(std::move(seller));
2018-07-16 12:00:17 +02:00
}
void Marketplace::storeToDb()
{
2018-07-17 10:19:41 +02:00
Database db;
2018-07-13 13:04:19 +02:00
db.storeSellers(sellers_);
2018-07-16 12:00:17 +02:00
}
2018-07-17 11:09:35 +02:00
void Marketplace::loadFromDb()
{
Database db;
db.loadSellers(sellers_);
}
2018-07-16 18:04:25 +02:00
std::vector<std::unique_ptr<Seller>>& Marketplace::getSellers() { return sellers_; }
int Marketplace::getNextSellerNo()
{
auto iter = std::max_element(
sellers_.begin(), sellers_.end(),
[](const std::unique_ptr<Seller>& a, const std::unique_ptr<Seller>& b) -> bool {
return a->getSellerNo() < b->getSellerNo();
});
2018-07-17 20:17:46 +02:00
if (iter == sellers_.end())
return 1;
2018-07-16 18:04:25 +02:00
return (*iter)->getSellerNo() + 1;
2018-07-17 15:32:16 +02:00
}
int Marketplace::getNumSellersDelete()
{
2018-07-17 20:17:46 +02:00
int count = std::count_if(sellers_.begin(), sellers_.end(),
[](const auto& a) { return a->getState() == Seller::State::DELETE; });
2018-07-17 15:32:16 +02:00
return count;
2018-07-16 18:04:25 +02:00
}