<?php

namespace App\Imports;

use App\AsignacionMateriaDocente;
use App\AsignaciorHorario;
use App\Carrera;
use App\Docente;
use App\Horario;
use App\Materia;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class AsignacionMatDoc implements ToModel, WithHeadingRow
{

    private $carrera;
    private $materia;
    private $docente;

    public function __construct()
    {
        $this->carrera = Carrera::pluck('id', 'nombre');
        $this->materia = Materia::pluck('cve_mat', 'nombre_mat');
    }

    public function model(array  $row)
    {
        $docente = $this->docente = Docente::where('estado', '1')->where(DB::raw("CONCAT(nombre,' ',apellido_paterno,' ',apellido_materno)"), 'LIKE', '%' . $row['docente'] . '%');
        $docente = $docente->first();
        $amd = AsignacionMateriaDocente::create([
            'grupo_asig' => $row['grupo'],
            'catalum_asig' => $row['cantidaddeestudiantes'],
            'status_asig' => '1',
            'id' => $docente['id'],
            'cve_mat' => $this->materia[$row['materia']],
            'id_car' => $this->carrera[$row['carrera']]
        ]);
        $dia = "";
        if ($row['lunes'] != null) {
            $dia = "Lunes";
            $hora = explode("-", $row['lunes']);
            $horario = Horario::create([
                'dia_hor' => $dia,
                'horaIni_hor' => $hora[0] . ":00:00",
                'horaFin_hor' => $hora[1] . ":00:00",
                'salon_hor' => $row['aula1']

            ]);

            $horarioDocente = AsignaciorHorario::create([
                'cve_hor' => $horario['cve_hor'],
                'cve_adocmat' => $amd['cve_adocmat']
            ]);
        }
        if ($row['martes'] != null) {
            $dia = "Martes";
            $hora = explode("-", $row['martes']);
            $horario = Horario::create([
                'dia_hor' => $dia,
                'horaIni_hor' => $hora[0] . ":00:00",
                'horaFin_hor' => $hora[1] . ":00:00",
                'salon_hor' => $row['aula2']

            ]);
            $horarioDocente = AsignaciorHorario::create([
                'cve_hor' => $horario['cve_hor'],
                'cve_adocmat' => $amd['cve_adocmat']
            ]);
        }
        if ($row['miercoles'] != null) {
            $dia = "Miercoles";
            $hora = explode("-", $row['miercoles']);
            $horario = Horario::create([
                'dia_hor' => $dia,
                'horaIni_hor' => $hora[0] . ":00:00",
                'horaFin_hor' => $hora[1] . ":00:00",
                'salon_hor' => $row['aula3']

            ]);
            $horarioDocente = AsignaciorHorario::create([
                'cve_hor' => $horario['cve_hor'],
                'cve_adocmat' => $amd['cve_adocmat']
            ]);
        }
        if ($row['jueves'] != null) {
            $dia = "Jueves";
            $hora = explode("-", $row['jueves']);
            $horario = Horario::create([
                'dia_hor' => $dia,
                'horaIni_hor' => $hora[0] . ":00:00",
                'horaFin_hor' => $hora[1] . ":00:00",
                'salon_hor' => $row['aula4']

            ]);
            $horarioDocente = AsignaciorHorario::create([
                'cve_hor' => $horario['cve_hor'],
                'cve_adocmat' => $amd['cve_adocmat']
            ]);
        }
        if ($row['viernes'] != null) {
            $dia = "Viernes";
            $hora = explode("-", $row['viernes']);
            $horario = Horario::create([
                'dia_hor' => $dia,
                'horaIni_hor' => $hora[0] . ":00:00",
                'horaFin_hor' => $hora[1] . ":00:00",
                'salon_hor' => $row['aula5']

            ]);
            $horarioDocente = AsignaciorHorario::create([
                'cve_hor' => $horario['cve_hor'],
                'cve_adocmat' => $amd['cve_adocmat']
            ]);
        }
    }
}
