<?php
//Incluimos conexion a la base de 
date_default_timezone_set('America/Lima');
require_once('../config/Conexion.php');

Class Cliente
{
  //Implementando nuestro constructor
  public function __construct()
  {

  }
    
      public function insertar($nombre,$nombre_nicho,$idtipo_documento,$num_documento,$direccion,$numero_celular,$estado) {
        $direccion = !empty($direccion) ? $direccion : 'S/N';
        $numero_celular = !empty($numero_celular) ? $numero_celular : '0';
        $sql = "INSERT INTO persona(idtipo_persona,nombre,nombre_nicho,idtipo_documento,num_documento,direccion,celular,telefono,whatsapp,estado) 
                VALUES ('1','$nombre','$nombre_nicho','$idtipo_documento','$num_documento','$direccion','$numero_celular','0','0','$estado')";
        return ejecutarConsulta($sql);
    }

    public function insertarEmpleado($nombre,$idtipo_documento,$num_documento,$direccion,$numero_celular,$estado) {
        $direccion = !empty($direccion) ? $direccion : 'S/N';
        $numero_celular = !empty($numero_celular) ? $numero_celular : '0';
        $sql = "INSERT INTO persona(idtipo_persona,nombre,idtipo_documento,num_documento,direccion,celular,telefono,whatsapp,estado) 
                VALUES ('3','$nombre','$idtipo_documento','$num_documento','$direccion','$numero_celular','0','0','$estado')";
        return ejecutarConsulta($sql);
    }

      public function insertar_cliente($nombre,$nombre_nicho,$idtipo_documento,$num_documento,$direccion,$numero_celular) {
        $direccion = !empty($direccion) ? $direccion : 'S/N';
        $numero_celular = !empty($numero_celular) ? $numero_celular : '0';
        $sql = "INSERT INTO persona(idtipo_persona,nombre,nombre_nicho,idtipo_documento,num_documento,direccion,celular,telefono,whatsapp,estado) 
                VALUES ('1','$nombre','$nombre_nicho','$idtipo_documento','$num_documento','$direccion','$numero_celular','0','0','1')";
        return ejecutarConsulta($sql);
    }
    // Método para editar
    public function editar($idpersona,$nombre,$nombre_nicho,$idtipo_documento,$num_documento,$direccion,$numero_celular,$estado) {
      $direccion = !empty($direccion) ? $direccion : 'S/N';
      $numero_celular = !empty($numero_celular) ? $numero_celular : '0';

        $sql = "UPDATE persona SET 
                nombre = '$nombre', 
                nombre_nicho = '$nombre_nicho', 
                direccion = '$direccion', 
                celular = '$numero_celular', 
                idtipo_documento = '$idtipo_documento', 
                num_documento = '$num_documento',
                estado = '$estado'                 
                WHERE idpersona = '$idpersona'";
        return ejecutarConsulta($sql);
    }

    public function editarEmpleado($idpersona,$nombre,$idtipo_documento,$num_documento,$direccion,$numero_celular,$estado) {
      $direccion = !empty($direccion) ? $direccion : 'S/N';
      $numero_celular = !empty($numero_celular) ? $numero_celular : '0';

        $sql = "UPDATE persona SET 
                nombre = '$nombre', 
                direccion = '$direccion', 
                celular = '$numero_celular', 
                idtipo_documento = '$idtipo_documento', 
                num_documento = '$num_documento',
                estado = '$estado'                 
                WHERE idpersona = '$idpersona'";
        return ejecutarConsulta($sql);
    }

    public function listarcliente()
    {
      $sql="SELECT p.idpersona,p.nombre,p.nombre_nicho,t.nombre as nombredocumento,p.num_documento,p.celular,p.estado,p.direccion 
             FROM persona p 
             JOIN tipo_documento t on p.idtipo_documento=t.idtipo_documento WHERE idtipo_persona='1'
             ORDER BY p.idpersona desc";
      return ejecutarConsulta($sql);
    }

    public function listarEmpleado()
    {
      $sql="SELECT p.idpersona,p.nombre,p.nombre_nicho,t.nombre as nombredocumento,p.num_documento,p.celular,p.estado,p.direccion 
             FROM persona p 
             JOIN tipo_documento t on p.idtipo_documento=t.idtipo_documento WHERE idtipo_persona='3'
             ORDER BY p.idpersona desc";
      return ejecutarConsulta($sql);
    }

    public function listarproveedor()
    {
      $sql="SELECT p.idpersona,p.nombre,t.nombre as nombredocumento,p.num_documento,p.celular,p.telefono,p.whatsapp,p.email,p.estado FROM persona p join tipo_documento t on p.idtipo_documento=t.idtipo_documento where idtipo_persona='2'";
      return ejecutarConsulta($sql);
    }

    public function mostrar($idpersona)
    {
      $sql="SELECT * FROM persona where idpersona='$idpersona'";
      return ejecutarConsultaSimpleFila($sql);

    }

    //Implementamos un metodo para eliminar registro
    public function eliminar($idpersona)
    {
      $sql="DELETE FROM persona where idpersona='$idpersona'";
      return ejecutarConsulta($sql);
    }

    public function selectTipoDocumento()
    {
      $sql="SELECT * FROM tipo_documento";
      return ejecutarConsulta($sql);
    }

    public function selectCliente()
    {
      $sql="SELECT * FROM persona where idtipo_persona='1'";
      return ejecutarConsulta($sql);
    }

    public function selectEmpleado()
    {
      $sql="SELECT * FROM persona where idtipo_persona='3'";
      return ejecutarConsulta($sql);
    }


      public function consultarDni($dni) {
        $sql = "SELECT p.idpersona,p.nombre,p.numero_documento,p.idtipo_documento,p.direccion,p.iddepartamento,p.idprovincia,p.iddistrito,p.email,p.numero_celular FROM persona p 
                WHERE p.numero_documento='$dni'";

        $result = ejecutarConsulta($sql);
        
        // Si el resultado tiene filas, obtenemos el primer registro
        if ($result->num_rows > 0) {
            return $result->fetch_assoc(); // Devuelve el primer registro como un array asociativo
        } else {
            return null; // No se encontró ningún registro
        }
    }



}


?>