<?php namespace App\Http\Controllers;

use App\Custom\SQLConnection;
use App\Custom\Misc;

use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Request;

use DateTime;
use PDOException;

class Homonimia extends Controller {

    //  HOMONIMIA
    public function extraer() {

        /*
        el stored procedure se llama LN_homonimia_led
        los parámetros que recibe y en ese orden son los siguientes
        @p_accion varchar(20),
        @p_clienteid int = null,
        @p_contraparteid int = null

        Los valores del parámetro @p_accion son los siguientes

        lista_clientes
        lista_contrapartes
        lista_full
        filtro_cliente
        filtro_contraparte

        */
        try {
            $clientes = SQLConnection::backendStoreProcedure('LN_homonimia_led', array('lista_clientes',NULL,NULL), 'select');
            $filtro_cliente = SQLConnection::backendStoreProcedure('LN_homonimia_led', array('filtro_cliente',NULL,NULL), 'select');
            //$filtro_contraparte = SQLConnection::backendStoreProcedure('LN_homonimia_led', array('filtro_contraparte',NULL,NULL), 'select');

            return view('/homonimia/homonimia_led')->with(compact(['clientes', 'filtro_cliente']));

        } catch (PDOException $exception1) {
            echo "<h1>Caught PDO exception:</h1>";
            echo $exception1->getMessage() . PHP_EOL;
            echo "<h1>PHP Info for troubleshooting</h1>";
            phpinfo();
        }
    }

    //  ASIGNACION HOMONIMIA CUIT
    public function asignaciones() {
        //$accion = "listar";
        //$cuitrs = "";
        //$accion = (isset($_POST['accion']) ? $_POST['accion'] : '');
        //$cuitrs = (isset($_POST['cuit1']) ? $_POST['cuit1'] : '');
        /*$rs = (isset($_POST['empresa']) ? $_POST['empresa'] : '');
        $fechapub = (isset($_POST['fpub']) ? $_POST['fpub'] : '');
        $cargo = (isset($_POST['codcar']) ? $_POST['codcar'] : '');
        $integrante = (isset($_POST['int']) ? $_POST['int'] : '');
        $cuitint = (isset($_POST['cuit2']) ? $_POST['cuit2'] : '');
        $idenfide = (isset($_POST['idfide']) ? $_POST['idfide'] : '');*/
        //echo(var_dump(Session::get('usuario')->user_id));
        $user_id = Session::get('usuario')->user_id;

        //$lst_upd = array($accion, $cuitrs, $rs, $fechapub, $cargo, $integrante, $cuitint, $idenfide);
        //-- ESTE STORE DEVUELVE TODOS LOS EDICTOS POR COMPLETAR Y SE LOS ASIGNA A '$lista' //27283168455//
        $lista = SQLConnection::backendStoreProcedure('sociedades_constituciones_AI_homonimia',array('listar', null, null, null, null, null, null, null, "N", $user_id));   

        // dd($lista);
        //-- ESTE STORE DEVUELVE TODOS LOS CARGOS Y SE LOS ASIGNA A '$cargos'
        $cargos = SQLConnection::backendStoreProcedure('obtener_Cargos',array());

        //echo(var_dump($lista)); //--> ESTO SIRVE PARA VER EL CONTENIDO QUE RETORNA N STORE
        
        return view('/homonimia/asignacion_homonimo_cuit')->with(compact(['lista', 'cargos'])); //--> RETORNA LA VISTA DONDE SE DEBE REALIZAR TODA LAS OPERACIONES
    }

    public function actualizar() {
        /*@p_accion varchar(20),
        @cuit_sociedad varchar(50)
        @razon_social varchar(180)
        @fechaPub varchar(10)
        @codcargo varchar(5)
        @nombreintegrante varchar(150)
        @taxidIntegrante varchar(50)
        @IDFide int = null*/

        $accion = (isset($_POST['accion']) ? $_POST['accion'] : '');
        $cuitrs = (isset($_POST['cuit1']) ? $_POST['cuit1'] : '');
        $rs = (isset($_POST['empresa']) ? $_POST['empresa'] : '');
        $fechapub = (isset($_POST['fpub']) ? $_POST['fpub'] : '');
        $cargo = (isset($_POST['codcar']) ? $_POST['codcar'] : '');
        $integrante = (isset($_POST['int']) ? $_POST['int'] : '');
        $cuitint = (isset($_POST['cuit2']) ? $_POST['cuit2'] : '');
        $idenfide = (isset($_POST['idfide']) ? $_POST['idfide'] : '');
        $ult_direc = (isset($_POST['ult_direc']) ? $_POST['ult_direc'] : '');
        $user_id = Session::get('usuario')->user_id;

        $lst_upd = array($accion, $cuitrs, $rs, $fechapub, $cargo, $integrante, $cuitint, $idenfide, $ult_direc, $user_id);

        //echo(var_dump($lst_upd));
        $id_upd = SQLConnection::backendStoreProcedure('sociedades_constituciones_AI_homonimia', $lst_upd);

        return $id_upd;
    }

    //  VISTAS CLIENTES
    public function altaAPI() {
        return view('alta_apis');
    }

    public function respuesta() {
        $codigo_cliente = $_POST['codigo_cliente'];
        $cuit_cliete = $_POST['cuit_cliente'];
        $nombre_cliente = $_POST['nombre_cliente'];
        $resultado = SQLConnection::busquedaClientes($codigo_cliente,$cuit_cliete,$nombre_cliente);
        if(count($resultado) > 0) {
            return $resultado;
        }
        return 'Sin coincidencias';
    }

    public function prodCliente() {
        $cliente = $_POST["cliente"];
        $params = array($cliente);
        $cliente_productos = SQLConnection::backendStoreProcedure("backend_clientes_productos",$params,'select');
        return $cliente_productos;
    }

    public function datosCliente() {
        $cliente = $_POST["cliente"];
        $params = array($cliente);
        $datos_cliente = SQLConnection::backendStoreProcedure("backend_datos_clientes",$params,'selectOne');
        return array($datos_cliente);
    }
    
    public function userCliente() {
        $cliente = $_POST["cliente"];
        $params = array($cliente);
        $usuario_producto = SQLConnection::backendStoreProcedure("backend_usuarios_productos",$params,'select');
        return $usuario_producto;
    }

}