<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\TipoProfesional;

class TipoProfesionalController extends Controller
{
    public function index(Request $request) 
    {
        $filtro = $request->get('filtro');
        $paginar = $request->get('paginar') === 'true';

        $tipos_profesional = TipoProfesional::orderBy('id', 'ASC')
            ->orWhere('nombre', 'LIKE', '%'.$filtro.'%');

        if ($paginar) 
        {
            $tipos_profesional = $tipos_profesional->paginate(5);
            $paginacion =
            [
                'total'         => $tipos_profesional->total(),
                'pagina_actual' => $tipos_profesional->currentPage(),
                'por_pagina'    => $tipos_profesional->perPage(),
                'ultima_pagina' => $tipos_profesional->lastPage(),
                'desde'         => $tipos_profesional->firstItem(),
                'hasta'         => $tipos_profesional->lastItem(),
            ];
        }
        else {
            $tipos_profesional = $tipos_profesional->get();
            $paginacion = [];
        }

        return [
            'paginacion' => $paginacion,
            'tipos_profesional' => $tipos_profesional
        ];
    }

    public function store(Request $request)
    {
        $this->validate($request, [
            'nombre'    => 'required',
        ]);
        
        $tipo_profesional = TipoProfesional::create($request->all());

        return;
    }

    public function update(Request $request, $id)
    {
        $this->validate($request, [
            'nombre'    => 'required',
        ]);

        $tipo_profesional = TipoProfesional::find($id);

        $tipo_profesional->nombre = $request->nombre;
        $tipo_profesional->save();

        return;
    }
}
