Exemple #1
0
 public function validarNuevasFechas($fecha_inicio, $fecha_fin, $idhabitacion)
 {
     $disponible = disponibilidad::where('idhabitacion', $idhabitacion)->where(function ($q) use($fecha_inicio, $fecha_fin) {
         $q->whereBetween('fecha_inicio', array($fecha_inicio, $fecha_fin))->orWhereBetween('fecha_fin', array($fecha_inicio, $fecha_fin))->orWhere(function ($q) use($fecha_inicio, $fecha_fin) {
             $q->where("disponibilidad.fecha_inicio", "<=", $fecha_inicio)->where("disponibilidad.fecha_fin", ">=", $fecha_fin);
         });
     })->where('estado', 'Habilitado')->where('identidad', Session::get("idEnt"))->first();
     if (empty($disponible)) {
         return true;
     } else {
         return false;
     }
 }
 public function editarOcupacion(Request $request)
 {
     $hab = habitacionesPerfil::select('id')->where('codigo', $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->validarFechas($fecha_inicio, $fecha_fin, $hab->id, $request['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
             $arrayUpdate = ['fecha_inicio' => $fecha_inicio->toDateTimeString(), 'fecha_fin' => $fecha_fin->toDateTimeString()];
             $disponibilidad = disponibilidad::where('id', $request['id'])->update($arrayUpdate);
             if ($disponibilidad) {
                 $message = 'Ocupación actualizada con éxito.';
                 $statusCode = 200;
             } else {
                 $message = 'Error al editar';
                 $statusCode = 400;
             }
             $response = ['message' => $message, 'type' => 'success'];
         } catch (Exception $e) {
             $response = ["error" => $e->getMessage()];
             $statusCode = 400;
         } finally {
             return Response::json($response, $statusCode);
         }
     }
 }