2024-06-18
This commit is contained in:
46
app/src/Model/Persona.php
Normal file
46
app/src/Model/Persona.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
namespace Incoviba\Model;
|
||||
|
||||
use Incoviba\Common\Ideal;
|
||||
|
||||
class Persona extends Ideal\Model
|
||||
{
|
||||
public int $rut;
|
||||
public string $digito;
|
||||
public string $nombres;
|
||||
public string $apellidoPaterno;
|
||||
public string $apellidoMaterno;
|
||||
|
||||
public function nombreCompleto(): string
|
||||
{
|
||||
return $this->nombres . ' ' . $this->apellidoPaterno . ' ' . $this->apellidoMaterno;
|
||||
}
|
||||
|
||||
public function rutCompleto(): string
|
||||
{
|
||||
return number_format($this->rut, 0, ',', '.') . '-' . $this->digito;
|
||||
}
|
||||
|
||||
protected ?DatosPersona $datos;
|
||||
public function datos(): ?DatosPersona
|
||||
{
|
||||
if (!isset($this->datos)) {
|
||||
$this->datos = $this->runFactory('datos');
|
||||
}
|
||||
return $this->datos;
|
||||
}
|
||||
|
||||
public function jsonSerialize(): mixed
|
||||
{
|
||||
return [
|
||||
'rut' => $this->rut,
|
||||
'digito' => $this->digito,
|
||||
'nombres' => $this->nombres,
|
||||
'apellidoPaterno' => $this->apellidoPaterno,
|
||||
'apellidoMaterno' => $this->apellidoMaterno,
|
||||
'nombreCompleto' => $this->nombreCompleto(),
|
||||
'rutCompleto' => $this->rutCompleto(),
|
||||
'datos' => $this->datos(),
|
||||
];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user