<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Vinculacion;


class VinculacionController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $data=$request->all();
        $vinculacion=null;
        if (count($data)>0) {
            $vinculacion=Vinculacion::where('estado', '=',1);
            if (array_key_exists('estado',$data)) {
                if($data['estado']==1){
                    $vinculacion=$vinculacion->where('maestria_id',13);
                }else{
                    if($data['estado']==0){
                        $vinculacion=$vinculacion->where('maestria_id',12);
                    }
                }
            }
            if (array_key_exists('nombre',$data)) {
                if($data['nombre']!=null){
                    $vinculacion=$vinculacion->where('nombre','like','%'.$data['nombre'].'%');
                }
            }
            if (array_key_exists('fecha_inicio',$data)) {
                if($data['fecha_inicio']!=null){
                    $vinculacion=$vinculacion->where('created_at','>=',$data['fecha_inicio']);
                }
            }
            if (array_key_exists('fecha_fin',$data)) {
                if($data['fecha_fin']!=null){
                    $vinculacion=$vinculacion->where('created_at','<=',$data['fecha_fin']);
                }
            }
            $vinculacion=$vinculacion->with('carreraVinculacion')->get();
        }else{
            $vinculacion=Vinculacion::where('estado', '=',1)->with('carreraVinculacion')->get();
        }
        //dd($vinculacion);
        return view('admin.vinculacion.listado',compact('vinculacion','data'));
    }

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

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        if(isset($_COOKIE['dip'])){    
            $usuario=json_decode($_COOKIE['dip']);
            $id=$usuario->idDP;
        }else{
            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Su sesión a caducado por favor inicie de nuevo.'
            ]); 
        }
        $nombre=$request->titulo;
        $maestria=$request->maestria;
        $carrera=0;
        $archi="";
        if ($nombre!=null&&$maestria!=null&&$request->file('documentos')!=null) {
            if ("MSC"==$maestria) {
                $carrera=13;
            }else{
                if ("MGA"==$maestria) {
                    $carrera=12;
                }else{
                    return response()->json([
                        'estado'=>'error',
                        'mensaje'=>'Ocurrió un problema inténtelo de nuevo.'
                    ]);
                }
            }
            $ruta = '/pdf/vinculacion/';
            $numero=Vinculacion::latest('id')->first();
            if($numero==null){
                $numero=['id'=>0];
            }
                $documentos = $request->file('documentos');
                $nombremas = $documentos->getClientOriginalName();
                $arc=explode(".",$nombremas);
                $nombd="Lineamiento".($numero['id']+1).".".$arc[count($arc)-1];
                $archi =$nombd;
                $documentos->move(getcwd().$ruta, $nombd);
            Vinculacion::create(['nombre'=>$nombre,'maestria_id'=>$carrera,'documento'=>$archi,'estado'=>1,'id_usuario'=>$id]);
            return response()->json([
                'estado'=>'success',
                'mensaje'=>'Vinculación subido 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)
    {
        dd("show");
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        dd("edit");
    }

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

    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
         if(isset($_COOKIE['dip'])){
            $usuario=json_decode($_COOKIE['dip']);
            $ide=$usuario->idDP;
            $vinculacion=Vinculacion::where('id',"=", $id)->first();
            $vinculacion->estado=0;
            $vinculacion->id_usuario=$ide;
            $vinculacion->save();
            return response()->json([
                'estado'=>'success',
                'mensaje'=>'Vinculación eliminada con éxito.'
            ]);
        }else{
            return response()->json([
                'estado'=>'error',
                'mensaje'=>'Su sesión a caducado por favor inicie de nuevo.'
            ]);
        }
       
    }
}
