Beispiel #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     try {
         $data = $request->all();
         $date = Carbon::now();
         $pedido = new Pedido();
         $pedido->fecha = $date->toDateString();
         $pedido->idCliente = $data["idCliente"];
         $pedido->valor = $data["total"];
         $pedido->estado = "Espera";
         $pedido->domicilio = $data["domicilio"];
         $pedido->save();
         $detalles = json_decode($data["detalles"]);
         foreach ($detalles as $d) {
             $detalle = new Detalle();
             $detalle->idPedido = $pedido->id;
             $detalle->idProducto = $d->idProducto;
             $detalle->cantidad = $d->cantidad;
             $detalle->precioProducto = $d->precio;
             $detalle->subTotal = $d->subtotal;
             $detalle->save();
             $producto = Producto::find($detalle->idProducto);
             $cantidad = $producto->visitas;
             $producto->visitas = $cantidad + 1;
             $producto->save();
         }
         return JsonResponse::create(array('message' => "Pedido Enviado correctamente"), 200);
     } catch (Exception $exc) {
         return JsonResponse::create(array('message' => "No se pudo enviar el pedido", "exception" => $exc->getMessage(), "request" => json_encode($data)), 401);
     }
 }
 public function getOrdenPlatoDetalles($orden_id, $plato_id)
 {
     $orden_platos = OrdenPlatos::where('orden_id', $orden_id)->get();
     $detalles = [];
     foreach ($orden_platos as $orden_plato) {
         if ($orden_plato->plato_id == $plato_id) {
             $ordenPlatoDetalles = OrdenPlatoDetalles::where('ordenplatos_id', $orden_plato->id)->get();
             foreach ($ordenPlatoDetalles as $ordenPlatoDetalle) {
                 $detalles[] = Detalle::find($ordenPlatoDetalle->detalle_id);
             }
         }
     }
     return response()->json($detalles);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // Registramos los detalles
     Detalle::create(['nombre' => 'Huevo sancochado', 'descripcion' => 'Huevo de gallina cocido o duro', 'imagen' => 'huevosancochado', 'precio' => 0.5]);
     Detalle::create(['nombre' => 'Pan de manteca', 'descripcion' => 'Tres panes de manteca', 'imagen' => 'panmanteca', 'precio' => 0.5]);
     Detalle::create(['nombre' => 'Mote', 'descripcion' => 'Porción de mote caliente', 'imagen' => 'mote', 'precio' => 0.3]);
     Detalle::create(['nombre' => 'Cancha perla', 'descripcion' => 'Porción de cancha perla', 'imagen' => 'cancha', 'precio' => 0.3]);
     Detalle::create(['nombre' => 'Lechuga', 'descripcion' => 'Porción de lechuga fresca', 'imagen' => 'lechuga', 'precio' => 0.2]);
     Detalle::create(['nombre' => 'Aceituna', 'descripcion' => 'Una aceituna fresca', 'imagen' => 'aceituna', 'precio' => 0.2]);
     Detalle::create(['nombre' => 'Papa Sancochada', 'descripcion' => 'Dos papas sancochadas', 'imagen' => 'papasancochada', 'precio' => 0.9]);
     Detalle::create(['nombre' => 'Menestra', 'descripcion' => 'Porción de Menestra estandar', 'imagen' => 'menestra', 'precio' => 0.5]);
     Detalle::create(['nombre' => 'Garbanzillo', 'descripcion' => 'Porción de garbancillo estandar', 'imagen' => 'garbancillo', 'precio' => 0.5]);
     Detalle::create(['nombre' => 'Crema Huancaina', 'descripcion' => 'Porción de crema huancaina', 'imagen' => 'cremahuancaina', 'precio' => 0.5]);
     Detalle::create(['nombre' => 'Canelita en polvo', 'descripcion' => 'Canelita en polvo', 'imagen' => 'canelita', 'precio' => 0.2]);
     Detalle::create(['nombre' => 'Guindon extra', 'descripcion' => 'Un guindon', 'imagen' => 'guindon', 'precio' => 0.2]);
     Detalle::create(['nombre' => 'Leche condensada', 'descripcion' => 'Dos cucharadas de leche condensada', 'imagen' => 'lechecondensada', 'precio' => 0.2]);
     Detalle::create(['nombre' => 'Fresas', 'descripcion' => 'Una porción de fresas', 'imagen' => 'fresas', 'precio' => 0.4]);
     Detalle::create(['nombre' => 'Extracto de fresas', 'descripcion' => 'Un extracto de fresas', 'imagen' => 'extfresa', 'precio' => 0.5]);
     Detalle::create(['nombre' => 'Extracto de plátano', 'descripcion' => 'Un extracto de plátano', 'imagen' => 'extplatano', 'precio' => 0.5]);
 }
 public function getGestionarPlatoDetalles($id)
 {
     $relaciones = PlatoDetalles::where('plato_id', $id)->get();
     $detalles = Detalle::all();
     $plato = Plato::find($id);
     $asignados = [];
     $noAsignados = [];
     foreach ($detalles as $detalle) {
         $asignado = false;
         foreach ($relaciones as $relacion) {
             //se encontro el plato dentro de las relaciones
             if ($relacion->detalle_id == $detalle->id) {
                 $asignado = true;
                 break;
             }
         }
         if ($asignado) {
             $asignados[] = $detalle;
         } else {
             $noAsignados[] = $detalle;
         }
     }
     return view('admin.asignar-detalles')->with(compact(['plato', 'asignados', 'noAsignados']));
 }
 public function postPrevisualizar(Request $request)
 {
     $total = 0;
     $entradas_id = $request->get('entradas');
     $segundos_id = $request->get('segundos');
     $postres_id = $request->get('postres');
     $bebidas_id = $request->get('bebidas');
     $tipo_orden = $request->get('tipo_orden');
     $combo_id = null;
     //dd($tipo_orden);
     $entradas = Plato::find($entradas_id);
     if ($entradas) {
         foreach ($entradas as $entrada) {
             $total += $entrada->precio;
         }
     }
     $segundos = Plato::find($segundos_id);
     if ($segundos) {
         foreach ($segundos as $segundo) {
             $total += $segundo->precio;
         }
     }
     $postres = Plato::find($postres_id);
     if ($postres) {
         foreach ($postres as $postre) {
             $total += $postre->precio;
         }
     }
     $bebidas = Plato::find($bebidas_id);
     if ($bebidas) {
         foreach ($bebidas as $bebida) {
             $total += $bebida->precio;
         }
     }
     $detalles = [];
     if ($entradas_id) {
         foreach ($entradas_id as $entrada) {
             $detalles_id = $request->get('detalles' . $entrada);
             $detalles_objetos = Detalle::find($detalles_id);
             $detalles[$entrada] = $detalles_objetos;
             if ($detalles_objetos) {
                 foreach ($detalles_objetos as $detalle) {
                     $total += $detalle->precio;
                 }
             }
         }
     }
     if ($segundos_id) {
         foreach ($segundos_id as $segundo) {
             $detalles_id = $request->get('detalles' . $segundo);
             $detalles_objetos = Detalle::find($detalles_id);
             $detalles[$segundo] = $detalles_objetos;
             if ($detalles_objetos) {
                 foreach ($detalles_objetos as $detalle) {
                     $total += $detalle->precio;
                 }
             }
         }
     }
     if ($postres_id) {
         foreach ($postres_id as $postre) {
             $detalles_id = $request->get('detalles' . $postre);
             $detalles_objetos = Detalle::find($detalles_id);
             $detalles[$postre] = $detalles_objetos;
             if ($detalles_objetos) {
                 foreach ($detalles_objetos as $detalle) {
                     $total += $detalle->precio;
                 }
             }
         }
     }
     if ($bebidas_id) {
         foreach ($bebidas_id as $bebida) {
             $detalles_id = $request->get('detalles' . $bebida);
             $detalles_objetos = Detalle::find($detalles_id);
             $detalles[$bebida] = $detalles_objetos;
             if ($detalles_objetos) {
                 foreach ($detalles_objetos as $detalle) {
                     $total += $detalle->precio;
                 }
             }
         }
     }
     // Guardamos en variables de sesión para que los datos persistan
     $request->session()->put('entradas', $entradas);
     $request->session()->put('segundos', $segundos);
     $request->session()->put('postres', $postres);
     $request->session()->put('bebidas', $bebidas);
     $request->session()->put('tipo_orden', $tipo_orden);
     $request->session()->put('detalles', $detalles);
     $request->session()->put('importe', $total);
     //dd($detalles);
     $comboname = null;
     return view('user.orden')->with(compact(['comboname', 'combo_id', 'total', 'entradas', 'segundos', 'postres', 'bebidas', 'detalles']));
 }
 public function destroy($id)
 {
     $detalle = Detalle::find($id);
     if (!$detalle) {
         return ['deleted' => false, 'error' => 'El plato indicado no existe.'];
     }
     if ($detalle->detalles->count() > 0) {
         return ['deleted' => false, 'error' => 'Deben eliminarse primero los detalles asociados.'];
     }
     $detalle->delete();
     return ['deleted' => true];
 }