<?php 

require_once('../modelos/Pabellon.php');

$pabellon=new Pabellon();

$idpabellon=isset($_POST["idpabellon"])? limpiarCadena($_POST["idpabellon"]):"";
$nombre=isset($_POST["nombre"])? limpiarCadena($_POST["nombre"]):"";
$total_fila=isset($_POST["total_fila"])? limpiarCadena($_POST["total_fila"]):"";
$total_columna=isset($_POST["total_columna"])? limpiarCadena($_POST["total_columna"]):"";
$imagen=isset($_POST["imagen"])? limpiarCadena($_POST["imagen"]):"";
$iddetalle_pabellon=isset($_POST["iddetalle_pabellon"])? limpiarCadena($_POST["iddetalle_pabellon"]):"";
$idpersona=isset($_POST["idpersona"])? limpiarCadena($_POST["idpersona"]):"";
$fila=isset($_POST["fila"])? limpiarCadena($_POST["fila"]):"";
$columna=isset($_POST["columna"])? limpiarCadena($_POST["columna"]):"";
$estado_nicho=isset($_POST["estado_nicho"])? limpiarCadena($_POST["estado_nicho"]):"";

switch ($_GET["op"])
{

    case 'guardaryeditar':
        if (!file_exists($_FILES['imagen']['tmp_name']) || !is_uploaded_file($_FILES['imagen']['tmp_name']))
            {
                $imagen=$_POST["imagenactual"];
            }
            else
            {
                $ext = explode(".", $_FILES["imagen"]["name"]);
                if ($_FILES['imagen']['type'] == "image/jpg" || $_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/png")
                {
                    $imagen = round(microtime(true)) . '.' . end($ext);
                    move_uploaded_file($_FILES["imagen"]["tmp_name"], "../files/pabellon/" . $imagen);
                }
            }
      if(empty($idpabellon))
      {
        $rspta=$pabellon->insertar($nombre,$total_fila,$total_columna,$imagen);
        echo $rspta ? "Pabellon Registrado" : "Pabellon no se pudo registrar";
      }
      else {
        {
          $rspta=$pabellon->editar($idpabellon,$nombre,$total_fila,$total_columna,$imagen);
          echo $rspta ? "Pabellon Actualizada" : "Pabellon no se pudo actualizar";
        }
      }
    break;

    case 'guardaryeditarActualizar':
       
        $rspta=$pabellon->insertarActualizar($iddetalle_pabellon,$idpabellon,$idpersona,$fila,$columna,$estado_nicho);
        echo $rspta ? "Nicho Actualizado" : "Nicho no se pudo actualizar";
  
  
    break;

    case 'mostrar':
      $rspta=$pabellon->mostrar($idpabellon);
       //Codificar el resultado utilizando json
       echo json_encode($rspta);
    break;

    case 'mostrardetalle':
      $rspta=$pabellon->mostrardetalle($iddetalle_pabellon);
       //Codificar el resultado utilizando json
       echo json_encode($rspta);
    break;

    case 'eliminar':
      $rspta=$pabellon->eliminar($idpabellon);
       //Codificar el resultado utilizando json
       echo json_encode($rspta);
    break;

    case 'eliminar_detalle':
      $rspta=$pabellon->eliminar($iddetalle_pabellon);
       //Codificar el resultado utilizando json
       echo json_encode($rspta);
    break;

     case 'listarpabellon':
      $rspta=$pabellon->listarpabellon();
      //Vamos a declarar un array
      $data=Array();
      while($reg=$rspta->fetch_object())
      {
         $total=$reg->total_fila * $reg->total_columna;
        $data[]=array(
          "0"=>$reg->idpabellon,
          "1"=>$reg->nombre,
          "2"=>$reg->total_fila,
          "3"=>$reg->total_columna,
          "4"=>$total,
          "5"=>"<img src='../../files/pabellon/".$reg->imagen."' height='50px' width='50px' >",
          "6"=>$reg->created_at,
          "7"=>'<a href="create.php?idpabellon=' . $reg->idpabellon . '" class="btn btn-warning btn-xs btn-flat"><i class="fa fa-edit"></i></a>' .
          ' <button class="btn btn-danger btn-xs btn-flat" onclick="eliminar(' . $reg->idpabellon . ')"><i class="fas fa-trash-alt"></i></button>'
        );
      }
      $results= array(
        "sEcho"=>1, //Informacion para el datatable
        "iTotalRecords"=>count($data),//Enviamos el total de registtros en el datatable
        "iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
        "aaData"=>$data);
      echo json_encode($results);

    break;

    case 'listar_detalle':
      $rspta=$pabellon->listar_detalle();
      //Vamos a declarar un array
      $data=Array();
      while($reg=$rspta->fetch_object())
      {
         switch ($reg->estado_nicho) {
          case 1:
              $estado = '<button class="btn btn-success btn-xs btn-flat">Disponible</button>';
              break;
          case 2:
              $estado = '<button class="btn btn-danger btn-xs btn-flat">Vendido</button>';
              break;
          case 3:
              $estado = '<button class="btn btn-warning btn-xs btn-flat">Crédito</button>';
              break;
          case 4:
              $estado = '<button class="btn btn-info btn-xs btn-flat">Crédito-Futuro</button>';
              break;
          case 5:
              $estado = '<button class="btn btn-primary btn-xs btn-flat">Futuro</button>';
              break;
          case 6:
              $estado = '<button class="btn btn-dark btn-xs btn-flat">Enterrado</button>';
              break;
          default:
              $estado = '<button class="btn btn-secondary btn-xs btn-flat">Desconocido</button>';
              break;
      }
        $data[]=array(
          "0"=>(!empty($reg->nombre_propietario) ? $reg->nombre_propietario : "S/P"),
          "1"=>$reg->nombre_pabellon,
          "2"=>(!empty($reg->nombre_difunto) ? $reg->nombre_difunto : "-"),
          "3"=>$reg->fila,
          "4"=>$reg->columna,
          "5"=>$reg->abc,
          "6"=>$estado,
          "7"=> ' <a href="create_detalle.php?iddetalle_pabellon=' . $reg->iddetalle_pabellon . '" class="btn btn-warning btn-xs btn-flat"><i class="fa fa-edit"></i></a>'
        );
      }
      $results= array(
        "sEcho"=>1, //Informacion para el datatable
        "iTotalRecords"=>count($data),//Enviamos el total de registtros en el datatable
        "iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
        "aaData"=>$data);
      echo json_encode($results);

    break;

      case 'mostrarDetallePabellon':
    // Obtener detalles del pabellón
    $rspta = $pabellon->listarDetallePorPabellon($idpabellon);

    $data = [];
    while ($reg = $rspta->fetch_object()) {
        $data[] = $reg;
    }

    // Consultar total de filas y columnas del pabellón
    $query_pabellon = ejecutarConsultaSimpleFila("SELECT nombre,total_fila, total_columna FROM pabellon WHERE idpabellon = '$idpabellon'");
    $nombre_pabellon = $query_pabellon['nombre'];
    $total_fila = $query_pabellon['total_fila'];
    $total_columna = $query_pabellon['total_columna'];

    echo json_encode([
        'nombre_pabellon' => $nombre_pabellon,
        'detalle' => $data,
        'total_fila' => (int)$total_fila,
        'total_columna' => (int)$total_columna
    ]);
    break;

      case 'selectPabellon': 
        $rspta = $pabellon->selectPabellon();
        if ($rspta) {
            while ($reg = $rspta->fetch_object()) {
                echo "<option value='" . htmlspecialchars($reg->idpabellon, ENT_QUOTES, 'UTF-8') . "'>" . htmlspecialchars($reg->nombre, ENT_QUOTES, 'UTF-8') . "</option>";
            }
        } else {
            echo "<option value=''>No hay pabellones disponibles</option>";
        }
        break;

        case 'grafico_top':
        $rspta=$pabellon->grafico_top();
        echo json_encode($rspta);
        break;

        case 'grafico_nicho':
        $rspta=$pabellon->grafico_nicho();
        echo json_encode($rspta);
        break;

}