<?php

/**
 * @author Gabriel <anhaia.gabriel@email.com>
 */
class Medico extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->auth->check(['atendente', 'medico']);
    }

    public function index()
    {
        $this->load->model('Medico_model');
        $medicos = $this->Medico_model->find();

        $this->view('medicos.index', [
            'medicos' => $medicos
        ]);
    }

    public function registrar()
    {
        $this->load->model([
            'Endereco_model',
            'Medico_model',
            'Usuario_model',
            'Especialidade_model'
        ]);

        $especialidades = $this->Especialidade_model->find();

        if (!empty($_POST)) {
            $idAddress = $this->Endereco_model->insert([
                'rua' => $_POST['rua'],
                'bairro' => $_POST['bairro'],
                'estado' => $_POST['estado'],
                'cidade' => $_POST['cidade'],
                'cep' => $_POST['cep']
            ]);

            $idUser = $this->Usuario_model->insert([
                'id_endereco' => $idAddress,
                'email' => $_POST['email'],
                'senha' => md5($_POST['senha']),
                'nome' => $_POST['nome'],
                'tipo' => 'medico'
            ]);

            $idMedico = $this->Medico_model->insert([
                'id_usuario' => $idUser,
                'crm' => $_POST['crm']
            ]);

            if (!empty($_POST['especialidade'])) {
                $this->Medico_model->updateEspecialidades($idMedico, $_POST['especialidade']);
            }

            redirect('medico');
        }

        $this->view('medicos.register', [
            'especialidades' => $especialidades
        ]);
    }

    public function deletar($id)
    {
        $this->load->model([
            'Medico_model',
            'Usuario_model',
            'Endereco_model'
        ]);

        $medico = $this->Medico_model->find($id);

        $this->Medico_model->delete($id);
        $this->Endereco_model->delete($medico->id_endereco);
        $this->Usuario_model->delete($medico->id_usuario);
        redirect('medico');
    }
}