/**
  * Displays a single Cardapio model.
  * @param integer $id
  * @return mixed
  */
 public function actionView($id)
 {
     //Recebe os itens do cardápio
     $itensCardapio = Itemcardapio::find()->where(['idCardapio' => $id])->orderBy('ordem ASC')->all();
     //Recebe os insumos do Produto Venda do item do Cardápio
     $insumosProdutos = [];
     foreach ($itensCardapio as $ic) {
         //Array para guardar os nomes dos insumos do Produto Venda
         $aux = [];
         $produtoVenda = Produto::findOne($ic->idProduto);
         if ($produtoVenda != null) {
             $insumos = Insumo::findAll(['idProdutoVenda' => $produtoVenda->idProduto]);
             foreach ($insumos as $i) {
                 array_push($aux, $i->produtoInsumo->nome);
             }
             //Adiciona os insumos produtos na lista de insumos do produto
             //do item do cardápio
             array_push($insumosProdutos, $aux);
         }
     }
     return $this->render('view', ['modelCardapio' => $this->findModel($id), 'itensCardapio' => $itensCardapio, 'insumosProdutos' => $insumosProdutos]);
 }
 /**
  * Verifica a quantidade no estoque antes de efetuar um
  * pedido
  * @params $idProduto int, $qtdProdutoPedido int
  * @return array
  */
 public function verificaQtdEstProdutoPedido($idProduto, $qtdProdutoPedido)
 {
     //Receba o produto
     $produto = Produto::findOne($idProduto);
     //Recebe o insumo que está com o estoque com quantidade mínima
     $insumoFaltando = [];
     if ($produto != null & $qtdProdutoPedido > 0) {
         $insumosProduto = Insumo::findAll(['idprodutoVenda' => $idProduto]);
         if (count($insumosProduto) > 0) {
             foreach ($insumosProduto as $inspro) {
                 $insumo = Produto::findOne($inspro->idprodutoInsumo);
                 if ($insumo != null) {
                     if ($insumo->quantidadeEstoque - $inspro->quantidade * $qtdProdutoPedido < $insumo->quantidadeMinima) {
                         array_push($insumoFaltando, $insumo);
                     }
                 }
             }
         }
     }
     return $insumoFaltando;
 }