<?php

namespace App\Controllers\Bolsatrabajo\Gestion;

use App\Controllers\GenericController;
use App\Libraries\CIAuth;
use App\Models\acciisitoModel;
use App\Models\accio;
use App\Models\AccionModel;
use App\Models\ConvocatoriaTipoExperienciaModel;
use App\Models\ConvocatoriaTipoProcesoModel;
use App\Models\EmpresaDatosModel;
use App\Models\EmpresaSectorModel;
use App\Models\Persona;
use App\Models\TipoProyectoModel;

class TipoExperienciaController extends GenericController
{

    public function index()
    {

        $data = array(
            'tituloModulo' => 'Tipo Experiencia',
        );

        return view('bolsatrabajo/gestion/view_tipo_experiencia', $data);
    }

    public function guardar(): string
    {
        $request = \Config\Services::request();
        $validation = \Config\Services::validation();

        $this->validate([
            'cont_descripcion' => [
                'rules' => 'required',
                'errors' => [
                    'required' => 'Ingrese descripción',
                ]
            ]
        ]);

        if ($validation->run() == FALSE) {
            $errors = $validation->getErrors();
            return json_encode(['status' => 0, 'error' => $errors]);
        } else {
            $model = new ConvocatoriaTipoExperienciaModel();

            if ($request->getVar("cont_id") !== null && $request->getVar("cont_id") !== '') {

                $success = $model->where('cont_id', $request->getVar('cont_id'))
                    ->set([
                        'cont_descripcion' => strtoupper($request->getVar('cont_descripcion')),
                    ])->update();
            } else {

                $success = $model->save([
                    'cont_descripcion' => strtoupper($request->getVar('cont_descripcion')),
                    'cont_estado' => true
                ]);
            }

            if ($success) {
                return json_encode(['status' => 1, 'msg' => 'Los datos fueron guardados correctamente']);
            } else {
                return json_encode(['status' => 0, 'msg' => 'Sucedio un error al guardar']);
            }
        }

    }

    public function eliminar(): string
    {
        $request = \Config\Services::request();
        $model = new ConvocatoriaTipoExperienciaModel();

        if ($request->getVar("cont_id") !== null) {

            $success = $model->where('cont_id', $request->getVar('cont_id'))
                ->set([
                    'aula_estado' => false
                ])->update();

            if ($success) {
                return json_encode(['status' => 1, 'msg' => 'Los datos fueron guardados correctamente']);
            } else {
                return json_encode(['status' => 0, 'msg' => 'Sucedio un error al guardar']);
            }
        } else {
            return json_encode(['status' => 0, 'msg' => 'No existe la llave primaria']);
        }
    }

    public function buscar(): string
    {
        $request = \Config\Services::request();
        $model = new ConvocatoriaTipoExperienciaModel();

        if ($request->getVar('cont_id') && $request->getVar('cont_id') != '') {
            return json_encode($model->find($request->getVar('cont_id')));
        }else{
            return json_encode([]);
        }
    }

}