<?php

namespace App\Http\Controllers;

use App\Model\User;
use Carbon\Carbon;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Providers\SweetAlertServiceProvider;
use Illuminate\Support\Facades\DB;
use App\Model\CampoInvestigacion;
use Exception;

class CampoInvestigacionController extends Controller
{

    public function Index(){

        $query = CampoInvestigacion::all();

        return view('pages.campoinvestigacion.index',compact('query'));
    }

    public function crearCampoInvestigacion(Request $request){

        $this->validate($request, [
            'titulo' => 'required',
            'detalle' => 'required'
        ]);

        $objCampo = [
            "descripcion"=>$request["titulo"],
            "detalle"=>$request["detalle"],
            "created_at" => Carbon::now('America/Lima'),
            "updated_at" => Carbon::now('America/Lima')
        ];
        CampoInvestigacion::create($objCampo);

        Alert()->success('Se registro el campo de investigación correctamente!', 'Registro realizado!')->persistent('Cerrar');

        return redirect('campoinvestigacion');

    }

    public function Detalle($CampoID){

        $campoInvestigacion = CampoInvestigacion::find($CampoID);
        return view('pages.campoinvestigacion.detalle',compact('campoInvestigacion'));

    }

    public  function Actualizar(Request $request){

        $this->validate($request, [
            'descripcion' => 'required',
            'detalle' => 'required'
        ]);

        $result = CampoInvestigacion::find($request["id"]);
        $result->descripcion = $request["descripcion"];
        $result->detalle = $request["detalle"];
        $result->updated_at = Carbon::now('America/Lima');

        $result->save();

        Alert()->success('Se actualizo correctamente!', 'Cambio realizado!')->persistent('Cerrar');
        return redirect('campoinvestigacion');

    }

    public function Eliminar($CampoID){

        try{

            $objCampo = CampoInvestigacion::find($CampoID);
            $objCampo->delete();

            alert()->success('Se eliminó el campo investigación.','Éxito!');

        }catch (Exception $e){
            alert()->error('No se puede eliminar, debido a que este campo investigación se esta usando actualemte.','Ups...!')->confirmButton('OK');
        }

        return redirect('campoinvestigacion');



    }

}
