You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include "WarenStorage.h"
WarenStorage::WarenStorage() { }
void WarenStorage::addWarenListToSum(std::vector<Ware>* sumList, std::vector<Ware> itemList) const { //reference ohne const möglich oder ist hier ein pointer notwendig??
for(Ware ware : itemList) { sumList->push_back((Ware) ware); //static_cast<> oder ganz weg
} }
std::vector<Ware> WarenStorage::getAllWaren() const {
std::vector<Ware> w;
addWarenListToSum(&w, warenList); addWarenListToSum(&w, coolingWarenList); addWarenListToSum(&w, largeWarenList);
return w; }
std::vector<Ware> WarenStorage::getWarenList() { return warenList; }
void WarenStorage::setWarenList(const std::vector<Ware> waren) { this->warenList = waren; }
std::vector<WarenStorage::CoolingWare> WarenStorage::getCoolingWarenList() { return coolingWarenList; }
void WarenStorage::setCoolingWarenList(const std::vector<CoolingWare> coolingWaren) { this->coolingWarenList = coolingWaren; }
std::vector<Ware> WarenStorage::getLargeWarenList() { return largeWarenList; }
void WarenStorage::setLargeWarenList(const std::vector<LargeWare> largeWaren) { this->largeWarenList = largeWaren; }
void WarenStorage::addWareAndGenerateId(Ware ware) {
ware.generateId(); switch(ware.getType()) { case Ware::WareType::DefaultWare: warenList.push_back(ware); break;
case Ware::WareType::CoolingWare: coolingWarenList.push_back(ware); break;
case Ware::WareType::LargeWare: largeWarenList.push_back(ware); break; } }
void WarenStorage::removeWare(const std::string name) { std::vector<Ware> allWaren = getAllWaren(); for(size_t i = 0; i < allWaren.size(); i++) { if(allWaren[i].getName() == name) { switch(allWaren[i].getType()) { case Ware::WareType::DefaultWare: warenList.erase( warenList.begin() + i ); break;
case Ware::WareType::CoolingWare: coolingWarenList.erase( coolingWarenList.begin() + i ); break;
case Ware::WareType::LargeWare: largeWarenList.erase( largeWarenList.begin() + i ); break; } break; //remove only one item
} } }
|