/** * 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]; }