Class RegistroVisita

java.lang.Object
model.operaciones.RegistroVisita

public class RegistroVisita extends Object
Clase que representa el registro de una visita de un miembro al gimnasio. Contiene informacion sobre ingreso, salida, tipo de acceso (libre o clase), y referencias al miembro, su membresia y la clase a la que asistio (si aplica). Permite calcular el tiempo de permanencia y determinar si fue visita a clase.
Version:
1.0
Author:
ISC Israel de Jesus Mar Parada
See Also:
  • Constructor Details

    • RegistroVisita

      public RegistroVisita(String idVisita, Miembro miembro, String tipoAcceso)
      Constructor para crear un registro de visita de acceso libre. Registra automaticamente la fecha y hora de ingreso actual. Si el miembro tiene una membresia activa, la asigna al registro.
      Parameters:
      idVisita - Identificador unico de la visita
      miembro - Miembro que realiza la visita
      tipoAcceso - Tipo de acceso (LIBRE o CLASE)
  • Method Details

    • RegistrarSalida

      public void RegistrarSalida()
      Registra la salida del miembro. Establece la fecha y hora de salida al momento actual.
    • CalcularTiempoPermanencia

      public long CalcularTiempoPermanencia()
      Calcula el tiempo de permanencia del miembro en el gimnasio. Si aun no ha salido, calcula desde el ingreso hasta el momento actual.
      Returns:
      Tiempo de permanencia en minutos
    • EsVisitaClase

      public boolean EsVisitaClase()
      Verifica si la visita corresponde a una clase grupal.
      Returns:
      true si el tipoAcceso es "CLASE" y hay una clase asignada
    • getIdVisita

      public String getIdVisita()
      Returns:
      Identificador unico de la visita
    • setIdVisita

      public void setIdVisita(String idVisita)
      Parameters:
      idVisita - Nuevo identificador de visita
    • getFechaHoraIngreso

      public LocalDateTime getFechaHoraIngreso()
      Returns:
      Fecha y hora de ingreso
    • setFechaHoraIngreso

      public void setFechaHoraIngreso(LocalDateTime fechaHoraIngreso)
      Parameters:
      fechaHoraIngreso - Nueva fecha y hora de ingreso
    • getFechaHoraSalida

      public LocalDateTime getFechaHoraSalida()
      Returns:
      Fecha y hora de salida (puede ser null)
    • setFechaHoraSalida

      public void setFechaHoraSalida(LocalDateTime fechaHoraSalida)
      Parameters:
      fechaHoraSalida - Nueva fecha y hora de salida
    • getTipoAcceso

      public String getTipoAcceso()
      Returns:
      Tipo de acceso (LIBRE, CLASE)
    • setTipoAcceso

      public void setTipoAcceso(String tipoAcceso)
      Parameters:
      tipoAcceso - Nuevo tipo de acceso
    • getIdMiembro

      public String getIdMiembro()
      Returns:
      Identificador del miembro
    • setIdMiembro

      public void setIdMiembro(String idMiembro)
      Parameters:
      idMiembro - Nuevo identificador del miembro
    • getIdMembresia

      public String getIdMembresia()
      Returns:
      Identificador de la membresia
    • setIdMembresia

      public void setIdMembresia(String idMembresia)
      Parameters:
      idMembresia - Nuevo identificador de membresia
    • getIdClase

      public String getIdClase()
      Returns:
      Identificador de la clase
    • setIdClase

      public void setIdClase(String idClase)
      Establece el identificador de la clase. Automaticamente cambia el tipo de acceso a "CLASE".
      Parameters:
      idClase - Nuevo identificador de clase
    • getMiembro

      public Miembro getMiembro()
      Returns:
      Referencia al miembro
    • setMiembro

      public void setMiembro(Miembro miembro)
      Parameters:
      miembro - Nueva referencia al miembro
    • getMembresia

      public Membresia getMembresia()
      Returns:
      Referencia a la membresia
    • setMembresia

      public void setMembresia(Membresia membresia)
      Parameters:
      membresia - Nueva referencia a la membresia
    • getClase

      public ClaseGrupal getClase()
      Returns:
      Referencia a la clase
    • setClase

      public void setClase(ClaseGrupal clase)
      Establece la referencia a la clase. Automaticamente actualiza el idClase.
      Parameters:
      clase - Nueva referencia a la clase
    • toString

      public String toString()
      Devuelve una representacion textual de la visita. Formato: "Visita: nombre | Ingreso: hora | Tipo: tipoAcceso"
      Overrides:
      toString in class Object
      Returns:
      Cadena con la informacion principal de la visita