<?php


namespace App\Models;

use App\Entities\ConvenioProcedimento\ConvenioProcedimento;
use App\Utils\DateUtils;

class ConvenioProcedimentoModel extends ModelEntity {
	protected $table = 'convenio_procedimento';
	protected $primaryKey = 'id';
	protected $returnType = 'array';
	protected $allowedFields = [ 
		'id_convenio',
		'id_procedimento',
		'id_unidade',
		'criado_por',
		'alterado_por',
		'desativado_por',
		'desativado_em'
	];
	protected $useSoftDeletes = false;
	protected $skipValidation = true;
	protected $useTimestamps = false;
	protected $createdField = 'criado_em';
	protected $updatedField = 'alterado_em';

	public function registerConvenioProcedimento(ConvenioProcedimento $convenio_procedimento): void {

		$data = $convenio_procedimento->toArray( true );
		$id_convenio_procedimento = $this->insert( $data );
		$convenio_procedimento->setId( $id_convenio_procedimento );

	}

	public function updateProcedimentoValorByID(int $id, ConvenioProcedimento $convenio_procedimento): bool {

		$data = $convenio_procedimento->toArray( true );
		$binds = [ 
			'id' => $id
		];
		$sets = $this->generateUpdateSets( $data, $binds );
		$sql = "update convenio_procedimento $sets where procedimento_valor.id = :id:";
		$query = $this->db->query( $sql, $binds );
		return $query->connID->affected_rows === 1;

	}

}
