<?php


namespace App\Entities\Pessoa;


use App\Entities\Endereco\Endereco;
use App\Entities\Usuario\Usuario;
use App\Models\PessoaModel;
use App\Utils\Entity;

class
Pessoa extends Entity
{
    protected $id;
    protected $telefone_1;
    protected $telefone_2;
    protected $telefone_3;
    protected $observacao;
    protected $id_endereco;
    protected $id_tipo_pessoa;
    protected $adicionado_por;
    protected $alterado_por;
    protected $criado_em;
    protected $alterado_em;

    public static function builder() : PessoaBuilder
    {
        $pessoa_builder = new PessoaBuilder();
        return $pessoa_builder;
    }
    public function getId() : int
    {
        return $this->id;
    }

    public function getTelefone1() : string
    {
        return $this->telefone_1;
    }

    public function getTelefone2() : string
    {
        return $this->telefone_2;
    }

    public function getTelefone3() : string
    {
        return $this->telefone_3;
    }

    public function getIdEndereco() : int
    {
        return $this->id_endereco;
    }

    public function getIdTipoPessoa() : int
    {
        return $this->id_tipo_pessoa;
    }

    public function getAdicionadoPor() : ?int
    {
        return $this->adicionado_por;
    }

    public function getAlteradoPor() : ?int
    {
        return $this->alterado_por;
    }

    public function getCriadoEm() : ?string
    {
        return $this->criado_em;
    }

    public function getAlteradoEm() : ?string
    {
        return $this->alterado_em;
    }

    public function setId(int $id): void
    {
        $this->id = $id;
    }

    public function setTelefone1(string $telefone_1): void
    {
        $this->telefone_1 = $telefone_1;
    }

    public function setTelefone2(string $telefone_2): void
    {
        $this->telefone_2 = $telefone_2;
    }

    public function setTelefone3(string $telefone_3): void
    {
        $this->telefone_3 = $telefone_3;
    }

    public function setIdEndereco(int $id_endereco): void
    {
        $this->id_endereco = $id_endereco;
    }

    public function setIdTipoPessoa(int $id_tipo_pessoa): void
    {
        $this->id_tipo_pessoa = $id_tipo_pessoa;
    }

    public function setAdicionadoPor(?int $adicionado_por): void
    {
        $this->adicionado_por = $adicionado_por;
    }

    public function setAlteradoPor(?int $alterado_por): void
    {
        $this->alterado_por = $alterado_por;
    }

    public function setCriadoEm(?string $criado_em): void
    {
        $this->criado_em = $criado_em;
    }

    public function setAlteradoEm(?string $alterado_em): void
    {
        $this->alterado_em = $alterado_em;
    }

    public function getObservacao()
    {
        return $this->observacao;
    }

    public function setObservacao($observacao): void
    {
        $this->observacao = $observacao;
    }


}