public function nuevaOcupacion(Request $request) { $hab = habitacionesPerfil::select('id')->where('id', $request['codigo'])->first(); $disp = new disponibilidad(); $disponibilidad = new disponibilidad(); $fecha_inicio = Carbon::parse($request['fecha_inicio']); $fecha_fin = Carbon::parse($request['fecha_fin']); $validez = $disp->validarNuevasFechas($fecha_inicio, $fecha_fin, $hab->id); if (!$validez) { $response = ['message' => "Fechas solapadas con otra ocupación", 'type' => 'danger', 'status' => 608]; $statusCode = 400; return Response::json($response, $statusCode); } else { try { // Pasando las fechas al formato correcto YYYY-MM-DD 00:00:00 $array = ['fecha_inicio' => $fecha_inicio->toDateTimeString(), 'fecha_fin' => $fecha_fin->toDateTimeString(), 'idhabitacion' => $hab->id, 'identidad' => Session::get("idEnt")]; $disponibilidad = $disponibilidad->crearNueva($array); if ($disponibilidad) { $message = 'Ocupación almacenada con éxito.'; $statusCode = 200; } else { $message = 'Error al ingresar ocupación'; $statusCode = 400; } $response = ['message' => $message, 'type' => 'success']; } catch (Exception $e) { $response = ["error" => $e->getMessage()]; $statusCode = 400; } finally { return Response::json($response, $statusCode); } } }