This commit is contained in:
Juan Pablo Vial
2024-04-02 23:02:52 -03:00
parent 5d9ac2bc51
commit 8710c8a111
12 changed files with 457 additions and 0 deletions

View File

@ -0,0 +1,40 @@
<?php
namespace Incoviba\Model\Inmobiliaria;
use Incoviba\Common\Ideal;
use Incoviba\Model;
class Agente extends Ideal\Model
{
public ?int $rut;
public string $descripcion;
public ?string $contacto;
public ?int $telefono;
public ?string $correo;
public ?Model\Direccion $direccion;
public ?string $giro;
public string $abreviacion;
protected ?array $tiposAgentes;
public function tipos(): ?array
{
if (!isset($this->tiposAgentes)) {
$this->tiposAgentes = $this->runFactory('tipos_agentes');
}
return $this->tiposAgentes;
}
public function jsonSerialize(): mixed
{
return array_merge(parent::jsonSerialize(), [
'rut' => $this->rut,
'descripcion' => $this->descripcion,
'contacto' => $this->contacto,
'telefono' => $this->telefono,
'correo' => $this->correo,
'direccion' => $this->direccion,
'giro' => $this->giro,
'abreviacion' => $this->abreviacion,
]);
}
}

View File

@ -0,0 +1,10 @@
<?php
namespace Incoviba\Model\Inmobiliaria;
use Incoviba\Common\Ideal;
class AgenteTipo extends Ideal\Model
{
public Agente $agente;
public TipoAgente $tipoAgente;
}

View File

@ -0,0 +1,19 @@
<?php
namespace Incoviba\Model\Inmobiliaria;
use Incoviba\Common\Ideal;
use Incoviba\Model;
class SociedadAgente extends Ideal\Model
{
public Model\Inmobiliaria $sociedad;
public AgenteTipo $agenteTipo;
public function jsonSerialize(): mixed
{
return [
'sociedad_rut' => $this->sociedad->rut,
'agente_tipo_id' => $this->agenteTipo->id
];
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace Incoviba\Model\Inmobiliaria;
use Incoviba\Model;
class TipoAgente extends Model\Tipo
{
public string $icono;
public string $color;
public string $bgcolor;
}