<?php
require_once "conexion.php";

class ModeloInscripcion
{

  static public function mdlInfoInscripciones()
  {
    $stmt = Conexion::conectar()->prepare("SELECT id_inscripcion, nombre_cliente, ap_paterno_cli, ap_materno_cli, descripcion, inscripcion.estado FROM inscripcion JOIN cliente ON cliente.id_cliente=inscripcion.id_cliente JOIN membresia ON membresia.id_membresia=inscripcion.id_membresia");
    $stmt->execute();

    return $stmt->fetchAll();

    $stmt->close();
    $stmt->null;
  }

  static public function mdlRegInscripcion($data)
  {

    $idUsuario = $data["idUsuario"];
    $cliente = $data["cliente"];
    $membresia = $data["membresia"];
    $descuento = $data["descuento"];
    $fechaInicio = $data["fechaInicio"];
    $fechaFin = $data["fechaFin"];

    $stmt = Conexion::conectar()->prepare("INSERT INTO inscripcion(id_cliente, id_membresia, descuento, id_usuario, fecha_inicio, fecha_fin) VALUES ($cliente,$membresia,'$descuento','$idUsuario','$fechaInicio','$fechaFin')");

    if ($stmt->execute()) {
      return "ok";
    } else {
      return "error";
    }
    $stmt->close();
    $stmt->null;
  }

  static public function mdlInfoInscripcion($id)
  {
    $stmt = Conexion::conectar()->prepare("SELECT id_inscripcion, inscripcion.estado, nombre_cliente, ap_paterno_cli, ap_materno_cli, ci_cliente, descripcion, costo, descuento, fecha_inscripcion, nombre, fecha_inicio, fecha_fin FROM inscripcion JOIN cliente ON cliente.id_cliente=inscripcion.id_cliente JOIN membresia ON membresia.id_membresia=inscripcion.id_membresia JOIN usuario ON usuario.id_usuario=inscripcion.id_usuario where id_inscripcion=$id");
    $stmt->execute();
    return $stmt->fetch();
    $stmt->close();
    $stmt->null;
  }

  static public function mdlEditInscripcion($data)
  {
    $membresia = $data["membresia"];
    $descuento = $data["descuento"];
    $fechaInicio = $data["fechaInicio"];
    $fechaFin = $data["fechaFin"];
    $estado = $data["estado"];
    $idInscripcion = $data["idInscripcion"];

    $stmt = Conexion::conectar()->prepare("UPDATE inscripcion SET id_membresia=$membresia, descuento ='$descuento' , fecha_inicio = '$fechaInicio', fecha_fin = '$fechaFin', estado = '$estado' WHERE id_inscripcion = $idInscripcion");


    if ($stmt->execute()) {
      return "ok";
    } else {
      return "error";
    }

    $stmt->close();
    $stmt->null;
  }

  static public function mdlEliInscripcion($id)
  {
    $stmt = Conexion::conectar()->prepare("delete from inscripcion where id_inscripcion=:id and estado=0");
    $stmt->bindParam(':id', $id, PDO::PARAM_INT); // Usar bindParam para mayor seguridad
    $stmt->execute();

    if ($stmt->rowCount() > 0) {
      return "ok";
    } else {
      return "error";
    }
    
    $stmt->close();
    $stmt->null;
  }

  static public function mdlCantidadInscripcions()
  {
    $stmt = Conexion::conectar()->prepare("select count(id_Inscripcion) as Inscripcions from Inscripcion");

    $stmt->execute();
    return $stmt->fetch();

    $stmt->close();
    $stmt->null;
  }
  
      static public function mdlActualizarEstadoInscripcionesVencidas()
  {
    $stmt = Conexion::conectar()->prepare("UPDATE inscripcion SET estado = 0 WHERE fecha_fin < CURDATE() AND estado = 1");

    if ($stmt->execute()) {
      return "ok";
    } else {
      return "error";
    }

    $stmt->close();
    $stmt = null;
  }

}
