<?php


namespace App\Models;

use App\Entities\Pessoa\Pessoa;
use App\Entities\TipoProcedimento\TipoProcedimento;
use CodeIgniter\Model;

class TipoProcedimentoModel extends ModelEntity {
	protected $table = 'tipo_procedimento';
	protected $primaryKey = 'id';
	protected $returnType = 'array';
	protected $allowedFields = [ 
			'descricao'
	];
	protected $useSoftDeletes = false;
	protected $skipValidation = true;
	protected $useTimestamps = false;

	public function registerTipoProcedimento(TipoProcedimento $tipoProcedimento): void {

		$id_new_tipo_procedimento = $this->insert( $tipoProcedimento->toArray( true ) );
		$tipoProcedimento->setId( $id_new_tipo_procedimento );

	}

	public function updateTipoProcedimentoByID(int $id_tipo_procedimento, TipoProcedimento $tipo_procedimento): bool {

		$data = $tipo_procedimento->toArray( true );
		$binds = [ 
				'id_tipo_procedimento' => $id_tipo_procedimento
		];
		$sets = $this->generateUpdateSets( $data, $binds );
		$sql = "UPDATE tipo_procedimento $sets WHERE tipo_procedimento.id = :id_tipo_procedimento:";
		$query = $this->db->query( $sql, $binds );
		return $query->connID->affected_rows === 1;

	}

}
