<?php
namespace Incoviba\Model;

use Incoviba\Common\Ideal;
use Incoviba\Model\Inmobiliaria\TipoSociedad;

class Sociedad extends Ideal\Model
{
    public int $rut;
    public string $digito;
    public string $nombre;
    public string $razonSocial;
    public TipoSociedad $tipoSociedad;
    public Persona $contacto;

    public function nombreCompleto(): string
    {
        return implode(' ', [$this->razonSocial, $this->tipoSociedad->descripcion]);
    }

    public function jsonSerialize(): mixed
    {
        return [
            'rut' => $this->rut,
            'digito' => $this->digito,
            'nombre' => $this->nombre,
            'razonSocial' => $this->razonSocial,
            'tipoSociedad' => $this->tipoSociedad,
            'contacto' => $this->contacto,
            'nombreCompleto' => $this->nombreCompleto(),
        ];
    }
}
