<?php

namespace App\Http\Controllers;

use App\AsignacionMateriaDocente;
use App\AsignaciorHorario;
use App\Docente;
use App\DocenteEvaluacionA;
use App\DocenteEvaluacionDEP;
use App\InstrumentacionDidacticaEncabezadoPie;
use App\FirmarEA;
use App\FirmarED;
use App\Horario;
use App\Temario;
use App\TemarioActividadAprendizaje;
use App\Temuni;
use App\Imports\AsignacionMatDoc;
use DateTime;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Facades\Excel;

class AsignacionMatDocController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $doc = AsignacionMateriaDocente::with('docente')->with('materia')->where('status_asig', '1')->get();
        $ded = DocenteEvaluacionDEP::with('evaluacionDiag')->get();
        $dea = DocenteEvaluacionA::with('reporteEvalAcre')->get();
        $ind=InstrumentacionDidacticaEncabezadoPie::with('instrumentacionDidactica')->get();
        //$t = Temario::where('cve_mat', $ind->cve_mat)->first();
        //$tem = Temario::with('materia')->where('cve_tem', $t->cve_tem)->first();
        //$uni = Temuni::with('Unidad')->where('cve_tem', $t->cve_tem)->get();
        //$act = TemarioActividadAprendizaje::with('ActividadAprendizaje')->where('cve_tem', $t->cve_tem)->get();
        //$tamUni=Temuni::with('Unidad')->where('cve_tem', $t->cve_tem)->count();
        $firma = FirmarED::with('evalDiag')->get();
        return view('asignacion_materia_docente.listar', compact('doc', 'ind','ded', 'dea', 'firma'));
    }

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

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //$dt = new DateTime();
        $carga = $request->file('academica');
        //$carga->move(getcwd() . "/archivos/cargas_academicas/cargaAcademica".$dt->format('d-m-Y-H:i:s').".xlsx");
        Excel::import(new AsignacionMatDoc, $carga);

        return response()->json(['estado' => 'Exito', 'mensaje' => 'Docentes cargados con exito!']);
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $doc = AsignacionMateriaDocente::where('cve_adocmat', $id)->with('docente')->with('materia')->first();
        $ded = DocenteEvaluacionDEP::with('evaluacionDiag')->where('id', $doc->id)->get();
        $dea = DocenteEvaluacionA::with('reporteEvalAcre')->where('id', $doc->id)->get();
        $ind =InstrumentacionDidacticaEncabezadoPie::with('instrumentacionDidactica')->get();
        $firma = FirmarED::with('evalDiag')->get();
        $firmaea = FirmarEA::with('evalAcreditacion')->get();
        $mat=$doc->cve_mat;

        return view('asignacion_materia_docente.consultar', compact('mat','doc', 'ind','ded', 'dea', 'firma', 'firmaea'));
    }

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

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

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        $amd = AsignacionMateriaDocente::findOrFail($id);
        $ah = AsignaciorHorario::where('cve_adocmat', $id)->get()->toArray();
        $eli = $ah;
        $tam = AsignaciorHorario::count('cve_adocmat');
        for ($i = 0; $i < $tam; $i++) {
            $el = AsignaciorHorario::find($eli[$i]['cve_ah']);
            $el->delete();
        }
        foreach ($eli as $e) {
            $hor = Horario::find($e['cve_hor']);
            $hor->delete();
        }
        $a = AsignacionMateriaDocente::find($id);
        $a->delete();


        return response()->json(['estado' => 'Exito', 'mensaje' => 'La materia a sido retirada del docente con exito!']);
    }

    public function descargarEjemplo()
    {
        return response()->download(getcwd() . '/archivos/cargaAcademica/Libro1.xlsx');
    }
}
