コード例 #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function store(ReservacionRequest $request)
 {
     $message = " ";
     $cliente = Cliente::find($request->id_cliente);
     $cabina = Cabina::find($request->id_cabina);
     $date = Funciones::fechaActual();
     if ($request->fecha_reservacion >= $date) {
         if ($cabina != null && $cliente != null) {
             if (Reservacion::ValidarReservacion($request->id_cabina, $request->fecha_reservacion, $request->fecha_cancelacion) == 0) {
                 if (Reservacion::ValidarReservacionCliente($request->id_cliente, $request->fecha_reservacion, $request->fecha_cancelacion) == 0) {
                     if (Funciones::ValidarEspacio($cabina, $request->cant_personas)) {
                         $reservacion = Reservacion::create(['id_cabina' => $request->id_cabina, 'id_cliente' => $request->id_cliente, 'fecha_reservacion' => $request->fecha_reservacion, 'fecha_cancelacion' => $request->fecha_cancelacion, 'cant_personas' => $request->cant_personas, 'factura' => $request->factura]);
                         if ($request->factura == 1) {
                             $reservacion->ingresos = Funciones::CalcularPrecio($reservacion);
                             $reservacion->save();
                         }
                         $cliente->ultimavisita = $date;
                         $cliente->visitas = $cliente->visitas + 1;
                         $cliente->save();
                         $cabinas = Cabina::all();
                         return view('principal.reservaciones.index', compact('cabinas'));
                     } else {
                         return \Redirect::back()->withErrors(["La cantidad ingresada supera el espacio disponible."]);
                     }
                 } else {
                     return \Redirect::back()->withErrors(["El cliente " . $cliente->nombre . " " . $cliente->apeliidos . " ya se encuentra hospedado en otra cabina en dicha fecha."]);
                 }
             } else {
                 return \Redirect::back()->withErrors(["Ya se ha registrado una reservación para ese día o fecha, en la cabina."]);
             }
         } else {
             return \Redirect::back()->withErrors(["La cabina o el cliente no existen"]);
         }
     } else {
         return \Redirect::back()->withErrors(["No se pueden crear reservaciones con fechas anteriores."]);
     }
 }