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();
    }
}