<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Request;
use App\Custom\SQLConnection;
use DB;


class CapitulosABMController extends Controller
{
    public function index() {
        $userid = Session::get('usuario')->user_id;
        $capitulos = [];
        $capitulos = SQLConnection::backendStoreProcedure('dbo.LN_capitulos_',array('LISTAR', $userid, null, null,null,null));
        $clientes = SQLConnection::backendStoreProcedure('LED_Clientes', array('SELECT', NULL, NULL, NULL, NULL, 0, env('PLATAFORMA')), 'select');
        return view('abm-capitulos/capitulos')->with(compact('capitulos','clientes'));
    }

    public function nuevo_capitulo(){
        $userid = Session::get('usuario')->user_id;
        //$db = DB::connection('dbtest'); 
        $nombre_capitulo = Request::input('nombre_capitulo_nuevo');
        $cliente_id = Request::input('cliente_nuevo');

        if ( is_null($nombre_capitulo) ) {
            $response = ["respuesta"=>"Error al crear el capítulo","status"=>500];
        } elseif( empty($nombre_capitulo) ) {
            $response = ["respuesta"=>"Los campos nombre del capítulo es obligatorio","status"=>400];
        }else {
            $capitulos = SQLConnection::backendStoreProcedure('dbo.LN_capitulos_',array('INSERTAR', $userid, $cliente_id, $nombre_capitulo,1,null));
            $response = ["respuesta"=>"Capitulo creado correctamente","status"=>200];
        }
        return $response;
    }

    public function editar_capitulo(Request $request){
        // $db = DB::connection('dbtest'); 
        $userid = Session::get('usuario')->user_id;
        $nombre_capitulo = Request::input('nombrecap');
        $cliente_id = Request::input('cliente_editar');
        $id_capitulo = Request::input('editar_id');
        $estado = intval(Request::input('estado_cap'));
        if ($id_capitulo == null) {
            $response = ["respuesta"=>"Error al guardar los cambios","status"=>500];
        }else {
            $capitulos = SQLConnection::backendStoreProcedure('dbo.LN_capitulos_',array('ACTUALIZAR', $userid, $cliente_id, $nombre_capitulo,$estado,$id_capitulo));
            $response = ["respuesta"=>"Los cambios se guardaron correctamente","status"=>200];
        }
        return $response;
    }

    public function obtener_familias(){
        $cliente = Request::input('id-cliente');
        $familias = SQLConnection::backendStoreProcedure('LN_familias_sc', array('search', NULL, NULL,$cliente, null, NULL, NULL, NULL, NULL, NULL, NULL, 47), 'select');
        return view('abm-capitulos/familias_select')->with(compact('familias'));
    }

    public function obtener_docs(){

        $userid = Session::get('usuario')->user_id;
        $id_familia = Request::input('id-familia');
        $id_capitulo = Request::input('id-cap-familia');

        $docs = SQLConnection::backendStoreProcedure('dbo.LN_capitulos_',array('LISTARTIPODOC',$userid,NULL,NULL,1,NULL,$id_familia,NULL,NULL) );
        
        return view('abm-capitulos/tabla-docs')->with(compact('docs','id_capitulo'));
    }

    public function asignar_doc(){

        $userid = Session::get('usuario')->user_id;
        $familia = intval(Request::input('familia'));
        $tipo_doc = intval( Request::input('tipo_doc'));
        $id_cap = intval(Request::input('capAsig'));

        if ($id_cap==null) {
            $response = ["respuesta"=>"Error al asignar el documento","status"=>500];
        }else {
            $consulta = SQLConnection::backendStoreProcedure('dbo.LN_capitulos_',array('INSERTTIPODOC',$userid,null,null,1,$id_cap,$familia,$tipo_doc,null,null));
            $docs = SQLConnection::backendStoreProcedure('dbo.LN_capitulos_',array('LISTARTIPODOC',$userid,NULL,NULL,1,NULL,$familia,NULL,NULL) );
            $id_capitulo = $id_cap;

            return view('abm-capitulos/tabla-docs')->with(compact('docs','id_capitulo'));
        }
        return $response;
    }

    function cambiar_capitulo_asignado(){

        $userid = Session::get('usuario')->user_id;
        $id_cap = intval(Request::input('capCambiar'));
        $idcaptipodoc = intval(Request::input('idcaptipodoc'));
        $familia = Request::input('capFamilia');
        //
        if ($id_cap == null) {
            $response = ["respuesta"=>"Error al asignar el documento","status"=>500];
        }else {
            $consulta = SQLConnection::backendStoreProcedure('dbo.LN_capitulos_',array('UPDTIPODOC-CAP',$userid,null,null,1,$id_cap,null,null,$idcaptipodoc,0));

            $docs = SQLConnection::backendStoreProcedure('dbo.LN_capitulos_',array('LISTARTIPODOC',$userid,NULL,NULL,1,NULL,$familia,NULL,NULL) );

            $id_capitulo = $id_cap;

            return view('abm-capitulos/tabla-docs')->with(compact('docs','id_capitulo'));
        }
        //
    }
}
