<?php

namespace App\Http\Controllers;

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

class TareasController extends Controller
{
    // FUNCION QUE DEVUELVE LA VISTA DE ALTA DE NUEVA TAREA
    public static function nuevaTarea()
    {
        $user_id = Session::get('usuario')->user_id;
        //--
        $roles = SQLConnection::backendStoreProcedure('LN_Teams_', array('LSTROLES',$user_id), 'select');
        //--
        $tareas = SQLConnection::backendStoreProcedure('LN_Tareas_', array('LISTAR',NULL,NULL), 'select'); // Tareas Disponibles
        //--
        $tipos = SQLConnection::backendStoreProcedure('LN_tipos_doc_', array('search', null, null, null, null, null, null, null, null, null, null), 'select');
        //--
        $titulo_navbar = 'Nueva Tarea';
        $ruta = '/configuracion-tareas-informes/editar-tareas';
        //llamo a los datos del prompt
        $datos = array('seleccionar',null,null,null,null,null,null,null,null); 
        $datos_prompt = SQLConnection::backendStoreProcedure('gestor_prompts',$datos);
        return view('/configuracion-tareas-informes/nueva_tarea')->with(compact('tareas','titulo_navbar','roles','ruta','tipos','datos_prompt'));
    }

    // FUNCION QUE DA DE ALTA UNA NUEVA TAREA PARA EL INFORME
    public static function altaNuevaTarea()
    {
        if ( isset($_POST['usuarios_tarea']) && !empty($_POST['usuarios_tarea']) && isset($_POST['nombre_tarea']) && !empty($_POST['nombre_tarea'])  && isset($_POST['descripcion_tarea']) && !empty($_POST['descripcion_tarea']) && isset($_POST['prioridad']) && !empty($_POST['prioridad']) && isset($_POST['duracion']) && !empty($_POST['duracion']) ){
            $nombre = Request::input('nombre_tarea');
            $descripcion = Request::input('descripcion_tarea');
            $prioridad = ( !empty(Request::input('prioridad')) ) ? Request::input('prioridad') : NULL;
            $duracion = ( !empty(Request::input('duracion')) ) ? Request::input('duracion') : NULL;
            $usuarios = Request::input('usuarios_tarea');
            $tipo_tarea = Request::input('tipo_tarea');
            $tipo_doc = Request::input('tipo_doc');
            $ruta_tarea = Request::input('ruta_tarea');
            $prompt = ( !empty(Request::input('tipo_prompt')) ) ? Request::input('tipo_prompt') : NULL;
            //
            SQLConnection::backendStoreProcedure('LN_Tareas_', array('AGREGAR',$nombre,$usuarios,$descripcion,1,$prioridad,$duracion,$tipo_tarea,NULL,NULL,$tipo_doc,$ruta_tarea,$prompt), 'select');
            //
            return 1;
        } else {
            return 0;
        }
    }

    public static function tablaTareas(){
        $user_id = Session::get('usuario')->user_id;
        //--
        $roles = SQLConnection::backendStoreProcedure('LN_Teams_', array('LSTROLES',$user_id), 'select');
        //--
        $tareas = SQLConnection::backendStoreProcedure('LN_Tareas_', array('LISTAR',NULL,NULL), 'select'); // Tareas Disponibles
        $tipos = SQLConnection::backendStoreProcedure('LN_tipos_doc_', array('search', null, null, null, null, null, null, null, null, null, null), 'select');
        //$ruta = '/nuevo-generar-informe';
        $titulo_navbar = 'Edición de Tareas Existentes';
        //dd($tareas);
       // dd(DB::select("select * from ln_tareas where id_prompt = 1"));
        $datos = array('seleccionar',null,null,null,null,null,null,null,null); 
        $datos_prompt = SQLConnection::backendStoreProcedure('gestor_prompts',$datos);
        return view('/configuracion-tareas-informes/tabla_tareas_existentes')->with(compact('titulo_navbar','tareas','roles','tipos','datos_prompt'));
    }

    // FUNCION QUE GUARDA LOS CAMBIOS REALIZADOS A UNA TAREA
    public static function editarTarea()
    {
        if ( isset($_POST['nombre_tarea']) && !empty($_POST['nombre_tarea']) && isset($_POST['usuarios_tarea']) && !empty($_POST['usuarios_tarea']) && isset($_POST['descripcion_tarea']) && !empty($_POST['descripcion_tarea']) && isset($_POST['prioridad']) && !empty($_POST['prioridad']) && isset($_POST['duracion']) && !empty($_POST['duracion']) ){
            $idTarea = Request::input('idTarea');
            $nombre = Request::input('nombre_tarea');
            $activo = ( !is_null(Request::input('activo_val')) ) ? Request::input('activo_val') : 0;
            $descripcion = Request::input('descripcion_tarea');
            $prioridad = ( !empty(Request::input('prioridad')) ) ? Request::input('prioridad') : NULL;
            $duracion = ( !empty(Request::input('duracion')) ) ? Request::input('duracion') : NULL;
            $usuarios = Request::input('usuarios_tarea');
            $tipo_tarea = Request::input('tipo_tarea');
            $tipo_doc = Request::input('tipo_doc');
            $ruta_tarea = Request::input('ruta_tarea');
            $prompt = ( !empty(Request::input('tipo_prompt')) ) ? Request::input('tipo_prompt') : NULL;
            //
            $temp = SQLConnection::backendStoreProcedure('LN_Tareas_', array('ACTUALIZAR',$nombre,$usuarios,$descripcion,$activo,$prioridad,$duracion,$tipo_tarea,NULL,$idTarea,$tipo_doc,$ruta_tarea,$prompt), 'select');
            //
            return 'Tarea editada correctamente';
        } else {
            return 0;
        }
    }

    public static function desactivarTarea()
    {
        
        if ( isset($_POST['nombre_tarea']) && !empty($_POST['nombre_tarea']) && isset($_POST['descripcion_tarea']) && !empty($_POST['descripcion_tarea']) && isset($_POST['prioridad']) && !empty($_POST['prioridad']) && isset($_POST['duracion']) && !empty($_POST['duracion']) ){
            $idTarea = Request::input('idTarea');
            $nombre = Request::input('nombre_tarea');
            $descripcion = Request::input('descripcion_tarea');
            $prioridad = ( !empty(Request::input('prioridad')) ) ? Request::input('prioridad') : NULL;
            $duracion = ( !empty(Request::input('duracion')) ) ? Request::input('duracion') : NULL;
            $usuarios = Request::input('usuarios_tarea');
            $tipo_tarea = Request::input('tipo_tarea');
            //$tarea_padre = Request::input('tarea_padre');
            //
            $temp = SQLConnection::backendStoreProcedure('LN_Tareas_', array('ACTUALIZAR',$nombre,$usuarios,$descripcion,0,$prioridad,$duracion,$tipo_tarea,NULL,$idTarea), 'select');
            //
            return 1;
        } else {
            return 0;
        }
    }

}