Esempio n. 1
0
 public function updateProdutoOrcamento($produtos, $orcamento)
 {
     $retorno = true;
     // removo os produtos que não estão nessa listagem
     OrcamentoProduto::where('orcamento', $orcamento)->whereNotIn('produto', $produtos)->delete();
     // loop nos produtos informados
     foreach ($produtos as $produto) {
         // incluo se o produto não existir
         if (OrcamentoProduto::where('orcamento', $orcamento)->where('produto', $produto)->count() == 0) {
             $orcamentoProduto = new OrcamentoProduto();
             $orcamentoProduto->orcamento = $orcamento;
             $orcamentoProduto->produto = $produto;
             if (!$orcamentoProduto->save()) {
                 $retorno = false;
                 break;
             }
         }
     }
     return $retorno;
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     // configurando o titulo e os breadcrumbs
     $titulo = 'Orçamentos';
     $breadcrumb = [['nome' => 'Listagem de Orçamentos', 'ultimo' => true]];
     // obtendo os dados do orçamento
     $orcamento = $this->orcamento->obterOrcamentoTecnico($id);
     // obtendo os produtos do orçamento
     $orcamento_produtos = OrcamentoProduto::where('orcamento', $id)->get(['produto']);
     // obtendos os produtos
     $produtos = Produto::where('ativo', 1)->get();
     // retorno
     return view('projetista.form')->with('orcamento', $orcamento[0])->with('orcamento_produtos', $orcamento_produtos)->with('produtos', $produtos)->with('paginaTitulo', $titulo)->with('paginaBreadcrumb', $breadcrumb);
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     // buscando o orçamento
     $orcamento = Orcamento::findOrNew($id);
     // caso não encontre o orçamento redireciona para a tela de atendimento
     if (empty($orcamento->id)) {
         return redirect('atendimento/orcamentos')->with('flash_message', 'Orçamento não encontrado!')->with('flash_type', 'warning');
     }
     // deletando os produtos do orçamento
     if (!OrcamentoProduto::where('orcamento', $orcamento->id)->delete()) {
         $mensagem = 'Ocorreu um erro ao tentar excluir os produtos do orçamento.';
         $tipo = 'error';
     } else {
         // deletando o orçamento
         if ($orcamento->delete()) {
             $mensagem = 'Orçamento excluído com sucesso!';
             $tipo = 'success';
         } else {
             $mensagem = 'Ocorreu um erro ao tentar excluir o orçamento.';
             $tipo = 'error';
         }
     }
     // retornando com as mensagens
     return redirect('atendimento/orcamentos')->with('flash_message', $mensagem)->with('flash_type', $tipo);
 }