int Negocios_Estoque::CalculaQuant(std::string nomeProduto, int quantretirada){ std::list<Produto> listAuxProd; Produto Produto; try{ Produto.BuscarProduto(listAuxProd, nomeProduto); }catch(ErroEstoque &exp){ ErroNegocios_Estoque(exp.what() + ">Erro ao cacular quantidade retirada"); } return listAuxProd.front().getQuantidade() - quantretirada; }
float Negocios_Estoque::CalculaMedia(std::string nomeProduto, int quant){ std::list<Produto> listAuxProd; Produto Produto; try{ Produto.BuscarProduto(listAuxProd, nomeProduto); }catch(ErroEstoque &exp){ ErroNegocios_Estoque(exp.what() + ">Erro ao cacular media de consumo"); } return (listAuxProd.front().getMedia() + quant)/2; }
void Negocios_Estoque::BuscarProduto(std::list<Produto> &listProduto, std::string nomeProduto){ Produto Prod; std::list<Produto> listAuxProd; try{ Prod.BuscarProduto(listAuxProd, nomeProduto); }catch(ErroEstoque &exp){ throw(ErroNegocios_Estoque(exp.what())); } if(!listAuxProd.empty()){ listAuxProd.front().setDias(this->CalculaDias(listAuxProd.front().getQuantidade(), listAuxProd.front().getMedia())); listProduto.push_back(listAuxProd.front()); listAuxProd.pop_front(); } }