<?php

namespace App\Http\Controllers;

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

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

use stdClass;
use App\Http\Controllers\EdictosController;

class AccionistasController extends Controller {
	//función para dar de alta y modificar---------------------------------------------------------
	public function altaAccionista() {
		if (Request::input('cuit_persona') !== null && Request::input('cuit_persona') != '') {
			$tipo_persona = Request::input('tipo_persona');
			$accionista = Misc::organizarRequest(['_token', 'buscarPadron_alta', 'nombre_persona', 'dni_persona', 'tipo_persona', 'id_padron', 'id_padron_acc']);
			// Si es contrapartes, lo ponemos en la tabla queue
			$insert_queue = SQLConnection::backendStoreProcedure('LN_contrapartes_queue_', array('insert', NULL, NULL, $accionista["cuit"]), 'selectOne');
			$insert_queue = SQLConnection::backendStoreProcedure('LN_contrapartes_queue_', array('insert', NULL, NULL, $accionista["cuit_persona"]), 'selectOne');
			if ($tipo_persona != 'f') {
				$accionista['desde'] = Misc::convertirFormatoFecha($accionista['desde'], 'Y-m');
				$accionista['hasta'] = Misc::convertirFormatoFecha($accionista['hasta'], 'Y-m');
				$accionista = array_values($accionista);
				$accionista['8'] = Request::input('id_padron');
				$accionista['9'] = Request::input('id_padron_acc');
				$accionista = SQLConnection::backendStoreProcedure('backend_procesar_accionista', array_values($accionista), true);
				if ($accionista != null) {
					echo json_encode(array("error" => 0));
				} else {
					echo json_encode(array("error" => 1));
				}
			} else {
				return "Error en accion";
			}
		}
	}
	public function bajaAccionista() {
		$accionista = Request::input('id_acc');
		// Si es contrapartes, lo ponemos en la tabla queue
		$cuit = DB::selectOne("select cuit_sociedad from accionistas where id_accionista = " . $accionista)->cuit_sociedad;
		$cuit_persona = DB::selectOne("select cuit_acc from accionistas where id_accionista = " . $accionista)->cuit_acc;
		$insert_queue = SQLConnection::backendStoreProcedure('LN_contrapartes_queue_', array('insert', NULL, NULL, $cuit), 'selectOne');
		$insert_queue = SQLConnection::backendStoreProcedure('LN_contrapartes_queue_', array('insert', NULL, NULL, $cuit_persona), 'selectOne');

		$accionista = SQLConnection::backendStoreProcedure('backend_status_accionista', array($accionista), true);
		return 0;
	}

	public function datosAccionistas() {
		$cuit = Request::input('cuit');
		$accionistas = SQLConnection::backendStoreProcedure("backend_obtener_accionistas", array($cuit, 1));
		$accionistas = array("data" => $accionistas);
		echo json_encode($accionistas);
	}

	public function datosAccionistasInactivos() {
		$cuit = Request::input('cuit');
		$accionistas = SQLConnection::backendStoreProcedure("backend_obtener_accionistas", array($cuit, 0));
		$accionistas = array("data" => $accionistas);
		echo json_encode($accionistas);
	}

	//FUNCION QUE DA DE ALTA Y EDITA AL ACCIONISTA DE
	//EN EL STORE BACKEND_PROCESAR_ACCIONISTA_DE LO QUE HACE ES IR A DIFERENTE ACCIONES DEPENDIENDO SI EL ACCIONISTA TIENE ID_ACC
	//SI LO TIENE LO EDITA, SINO LO INSERTA EN ALTA    
	public function altaAccionistaDe() {
		if (Request::input('cuit_persona') !== null && Request::input('cuit_persona') != '') {
			$accionista_de = Misc::organizarRequest(['_token', 'input_autocomplete', 'nombre_persona', 'dni_persona', 'tipo_persona', 'id_padron', 'id_padron_empresa']);

			// Si es contrapartes, lo ponemos en la tabla queue
			$insert_queue = SQLConnection::backendStoreProcedure('LN_contrapartes_queue_', array('insert', NULL, NULL, $accionista_de["cuit"]), 'selectOne');
			$insert_queue = SQLConnection::backendStoreProcedure('LN_contrapartes_queue_', array('insert', NULL, NULL, $accionista_de["cuit_persona"]), 'selectOne');

			$accionista_de['desde'] = Misc::convertirFormatoFecha($accionista_de['desde'], 'Y-m');
			$accionista_de['hasta'] = Misc::convertirFormatoFecha($accionista_de['hasta'], 'Y-m');
			$accionista_de = array_values($accionista_de);
			$accionista_de['8'] = Request::input('id_padron_empresa');
			$accionista_de['9'] = Request::input('id_padron');
			$accionista_de = SQLConnection::backendStoreProcedure('backend_procesar_accionista_de', $accionista_de, true);

			if (!is_null($accionista_de)) {

				return 0;
			} else {

				return 1;
			}
		} else {
			return "Error en accion";
		}
	}

	public function bajaAccionistaDe() {
		$accionistaDe = Request::input('id_acc');
		// Si es contrapartes, lo ponemos en la tabla queue
		$cuit = DB::selectOne("select cuit_sociedad from accionistas where id_accionista = " . $accionistaDe)->cuit_sociedad;
		$cuit_persona = DB::selectOne("select cuit_acc from accionistas where id_accionista = " . $accionistaDe)->cuit_acc;
		$insert_queue = SQLConnection::backendStoreProcedure('LN_contrapartes_queue_', array('insert', NULL, NULL, $cuit), 'selectOne');
		$insert_queue = SQLConnection::backendStoreProcedure('LN_contrapartes_queue_', array('insert', NULL, NULL, $cuit_persona), 'selectOne');

		$accionistaDe = SQLConnection::backendStoreProcedure('backend_status_accionista', array($accionistaDe), true);

		return 0;
	}

	public function datosAccionistasDe() {
		$cuit = Request::input('cuit');
		$accionistasDe = SQLConnection::backendStoreProcedure("backend_obtener_accionistas_de", array($cuit, 1));
		$accionistasDe = array("data" => $accionistasDe);

		echo json_encode($accionistasDe);
	}

	public function datosAccionistasDeInactivos() {
		$cuit = Request::input('cuit');
		$accionistasDe = SQLConnection::backendStoreProcedure("backend_obtener_accionistas_de", array($cuit, 0));
		$accionistasDe = array("data" => $accionistasDe);

		echo json_encode($accionistasDe);
	}


}