<?php

namespace app\Models;

use App\Models\ModelEntity;
use app\Entities\ChameFacilSenha\ChameFacilSenha;

class ChameFacilSenhaModel extends ModelEntity {
	
	protected $table = 'chamefacil_senhas';
	protected $primaryKey = 'id';
	protected $returnType = 'array';
	protected $allowedFields = [
			'id_senha',
			'id_fila_interna',
			'id_tutor',
			'id_pet',
			'id_requisicao',
			'id_procedimento',
			'id-tipo_convenio',
			'id_unidade',
			'operacao',
			'setor',
			'criado_por',
			'data_criacao',
			'hora_criacao'
	];
	protected $useSoftDeletes = false;
	protected $skipValidation = true;
	protected $useTimestamps = false;
	
	public function registerChameFacilSenha (ChameFacilSenha &$chamefacilsenha) : void {
		$chamefacilsenha_data = $chamefacilsenha->toArray();
		unset($chamefacilsenha_data['id']);
		$id_new_chamefacilsenha = $this->insert($$chamefacilsenha_data);
		$chamefacilsenha->setId($id_new_chamefacilsenha);
		
	}
	
	public function updateAdministrativoByID (int $id, ChameFacilSenha &$chamefacilsenha) : bool {
		$data = $chamefacilsenha->toArray(true);
		if (count($data) > 0) {
			$binds = ['id' => $id];
			$sql = "
                UPDATE chamefacil_senha
            ";
			$sql .= $this->generateUpdateSets($data, $binds);
			$sql .= 'WHERE id = :ide:';
			$query = $this->db->query($sql, $binds);
			$errors = $this->errors();
			return !$errors;
		} else {
			return true;
		}
	}

}

