<?php

namespace App\Models;

use App\Entities\LojaCompra\LojaCompra;

// use const False\MyClass\true;
class LojaCompraModel extends ModelEntity {
	protected $table = 'loja_compra';
	protected $primaryKey = 'id';
	protected $returnType = 'array';
	protected $allowedFields = [
			'id_loja',
			'ivalor',
			'tipo_compra_loja',
			'id_usuario',
			'data_requisicao',
			'hora_requisicao',
			'id_status',						
			'alterado_por',	
			'data_alteracao', 
			'hora_alteracao'
	];
	protected $useSoftDeletes = false;
	protected $skipValidation = true;
	protected $useTimestamps = false;

	public function registerLojaProduto(LojaCompra $tipoExtorno): void {

		$id_new_tipo_extorno = $this->insert( $tipoExtorno->toArray( true ) );
		$tipoExtorno->setId( $id_new_tipo_extorno );

	}

	public function updateLojaByID(int $id_tipo_extorno, LojaCompra $tipo_extorno): bool {

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

	}

}
