<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Model\Bibliografia;
use App\Model\Ejemplar;
use App\Model\Autor;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\DB;
use App\Providers\SweetAlertServiceProvider;

class AutorController extends Controller
{
    public function getIndex(){
        $autor= Autor::all();
        return view('pages.Autor.Index')->with('autores', $autor);
    }

    public function getCrear(){
        return view('pages.Autor._nuevo');
    }

    public function  getEditar(Request $request){
        $id = $request["id"];
        $autor = Autor::find($id);
        return view('pages.Autor._edit')->with('autor',$autor);
    }

    public function Editar(Request $request){
        $this->validate($request, [
            'nombres' => 'required',
        ]);
        try{
            $autor = Autor::find($request["id"]);
            $autor->nombres = $request["nombres"];

            $autor->save();

            Alert()->success('Se creó correctamente!', 'Autor Guardado!')->persistent('Cerrar');
            return Redirect('autor');
        }catch (Exception $e){
            throw $e;
        }
    }

    public function Crear(Request $request){
        $this->validate($request, [
            'nombres' => 'required',
        ]);

        try{
            $autor["nombres"] = $request["nombres"];
            Autor::create($autor);
            Alert()->success('Se creó correctamente!', 'Autor Guardado!')->persistent('Cerrar');
            return Redirect('autor');
        }catch (Exception $e){
            throw $e;
        }
    }

    public function Eliminar(Request $request){
        $id = $request["id"];
        $ejemplares = count(Bibliografia::where('id_autor','=',$id)->get());
        if($ejemplares != 0) {
            Alert()->error('El autor tiene ejemplares activos', 'No se puede eliminar el autor!')
                ->persistent('Cerrar');
            Return "ERROR";
        }
        else{
            $bibliografia = Autor::find($id);
            $bibliografia->delete();
            Alert()->success('Se eliminó correctamente!', 'Autor eliminado!')
                ->persistent('Cerrar');
        }
        return "TRUE";
    }
}
