<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\{LineaInvestigacion};

class LineasInvestigacionController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $data=$request->all();
        $lineas=null;
        if(count($data)>0){
            $bandera=true;
            if($data['textoLinea']!=null){
                if ($bandera) {
                    $lineas=LineaInvestigacion::where('linea','like','%'.$data['textoLinea'].'%');
                    $bandera=false;
                }
            }
            if($data['fecha_inicio']!=null){
                if ($bandera) {
                    $lineas=LineaInvestigacion::where('created_at','>=',$data['fecha_inicio']);
                    $bandera=false;
                }else{
                    $lineas=$lineas->where('created_at','>=',$data['fecha_inicio']);
                }
            }
            
            if($data['fecha_fin']!=null){
                if ($bandera) {
                    $lineas=LineaInvestigacion::where('created_at','<=',$data['fecha_fin']);
                    $bandera=false;
                }else{
                    $lineas=$lineas->where('created_at','<=',$data['fecha_fin']);
                }
            }
            if ($lineas!=null) {
                $lineas=$lineas->get();
            }else {
                $lineas=LineaInvestigacion::all();
            }
        }else{
        $lineas=LineaInvestigacion::all();
        }
        return view('admin.nucleo.listadoLinea',compact('lineas','data'));

    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        return view('admin.nucleo.nueva');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        // sesion

        if(isset($_COOKIE['dip'])){
                
            $usuario=json_decode($_COOKIE['dip']);
            $ide=$usuario->idDP;
            }else{
                return response()->json([
                    'estado'=>'error',
                    'mensaje'=>'Su sesión a caducado por favor inicie de nuevo.'
                ]); 
            }
        if ($request['linea']!=null) {
            $linea_Inv=$request['linea'];
           LineaInvestigacion::create(['linea'=>$linea_Inv,'id_usuario'=>$ide]);

            return response()->json([
                'estado'=>'success',
                'mensaje'=>'Registrada con éxito.'
            ]);
        }else {

            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Por favor llena los campos obligatorios.'
            ]);
        }
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        $linea=LineaInvestigacion::where('id',$id)->first();
        return view('admin.nucleo.editLinea',compact('linea'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {

        if(isset($_COOKIE['dip'])){
                
            $usuario=json_decode($_COOKIE['dip']);
            $ide=$usuario->idDP;
        }else{
            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Su sesión a caducado por favor inicie de nuevo.'
            ]); 
        }

        if ($request['linea']!=null) {
            $linea_Inv=$request['linea'];
            // actualizamos
            $linea=LineaInvestigacion::where('id',"=", $id)->first();
            $linea->linea=$linea_Inv;
            $linea->id_usuario=$ide;
            $linea->save();
            return response()->json([
                'estado'=>'success',
                'mensaje'=>'Modificada con éxito.'
            ]);
        }else {

            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Por favor llena los campos obligatorios.'
            ]);
        }



    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
    }
}
//where(DB::raw("CONCAT(nombre,' ',ap,' ',am)")