Files
oficial/app/src/Model/Inmobiliaria/Cuenta.php
Juan Pablo Vial 4b3397dd63 Estado cuenta
2024-03-21 23:10:18 -03:00

47 lines
1.4 KiB
PHP

<?php
namespace Incoviba\Model\Inmobiliaria;
use Incoviba\Common\Ideal;
use Incoviba\Common\Implement\Exception\EmptyResult;
use Incoviba\Model;
class Cuenta extends Ideal\Model
{
public Model\Inmobiliaria $inmobiliaria;
public Model\Banco $banco;
public string $cuenta;
protected array $estados;
public function getEstados(): array
{
if (!isset($this->estados)) {
$this->estados = $this->runFactory('estados');
}
return $this->estados;
}
protected Model\Inmobiliaria\Cuenta\Estado $currentEstado;
public function currentEstado(): Model\Inmobiliaria\Cuenta\Estado
{
if (!isset($this->currentEstado)) {
$estados = $this->getEstados();
if (count($estados) === 0) {
throw new EmptyResult('Current Estado Cuenta');
}
usort($estados, function(Model\Inmobiliaria\Cuenta\Estado $a, Model\Inmobiliaria\Cuenta\Estado $b) {
return $a->id - $b->id;
});
$this->currentEstado = end($estados);
}
return $this->currentEstado;
}
public function jsonSerialize(): mixed
{
return array_merge(parent::jsonSerialize(), [
'inmobiliaria_rut' => $this->inmobiliaria->rut,
'banco' => $this->banco,
'cuenta' => $this->cuenta
]);
}
}