<?php


namespace App\ViewModels\Paciente\PacienteUpdateViewModel;


use App\Utils\Entity;

class PacienteUpdateViewModel extends Entity
{
    protected $cpf;
    protected $rg;
    protected $nome;
    protected $genero;
    protected $data_nascimento;
    protected $telefone_1;
    protected $telefone_2;
    protected $telefone_3;
    protected $numero;
    protected $complemento;
    protected $referencias;
    protected $foto;
    protected $indicado_por;
    protected $alterado_por;
    protected $profissao;
    protected $estado_civil;
    protected $convenio;
    protected $observacao;

    protected $peso;
    protected $altura;

    protected $cep;
    protected $logradouro;
    protected $bairro;
    protected $cidade;
    protected $estado;

    public static function builder() : PacienteUpdateViewModelBuilder
    {
        $paciente_details_vm_builder = new PacienteUpdateViewModelBuilder();
        return $paciente_details_vm_builder;
    }

    public function getCpf() : ?string
    {
        return $this->cpf;
    }

    public function getRg() : ?string
    {
        return $this->rg;
    }

    public function getNome() : ?string
    {
        return $this->nome;
    }

    public function getGenero() : ?string
    {
        return $this->genero;
    }

    public function getDataNascimento() : ?string
    {
        return $this->data_nascimento;
    }

    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 getCep() : ?string
    {
        return $this->cep;
    }

    public function getNumero() : ?string
    {
        return $this->numero;
    }

    public function getComplemento() : ?string
    {
        return $this->complemento;
    }

    public function getReferencias() : ?string
    {
        return $this->referencias;
    }

    public function getFoto() : ?string
    {
        return $this->foto;
    }

    public function getIndicadoPor() : ?string
    {
        return $this->indicado_por;
    }


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

    public function getProfissao() : ?string
    {
        return $this->profissao;
    }

    /**
     * @return mixed
     */
    public function getPeso()
    {
        return $this->peso;
    }

    /**
     * @return mixed
     */
    public function getAltura()
    {
        return $this->altura;
    }

    public function getEstadoCivil() : ?string
    {
        return $this->estado_civil;
    }


    /**
     * @param mixed $peso
     */
    public function setPeso($peso): void
    {
        $this->peso = $peso;
    }

    /**
     * @param mixed $altura
     */
    public function setAltura($altura): void
    {
        $this->altura = $altura;
    }

    public function setCpf(string $cpf): void
    {
        $this->cpf = $cpf;
    }

    public function setRg(string $rg): void
    {
        $this->rg = $rg;
    }

    public function setNome(string $nome): void
    {
        $this->nome = $nome;
    }

    public function setGenero(string $genero): void
    {
        $this->genero = $genero;
    }

    public function setDataNascimento(string $data_nascimento): void
    {
        $this->data_nascimento = $data_nascimento;
    }

    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 setCep(string $cep): void
    {
        $this->cep = $cep;
    }

    public function setNumero(string $numero): void
    {
        $this->numero = $numero;
    }

    public function setComplemento(string $complemento): void
    {
        $this->complemento = $complemento;
    }

    public function setReferencias(string $referencias): void
    {
        $this->referencias = $referencias;
    }

    public function setFoto(string $foto): void
    {
        $this->foto = $foto;
    }

    public function setIndicadoPor(string $indicado_por): void
    {
        $this->indicado_por = $indicado_por;
    }

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

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

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

    public function getConvenio()
    {
        return $this->convenio;
    }

    public function setConvenio($convenio): void
    {
        $this->convenio = $convenio;
    }

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

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

    /**
     * @return mixed
     */
    public function getLogradouro()
    {
        return $this->logradouro;
    }

    /**
     * @param mixed $logradouro
     */
    public function setLogradouro($logradouro): void
    {
        $this->logradouro = $logradouro;
    }

    /**
     * @return mixed
     */
    public function getBairro()
    {
        return $this->bairro;
    }

    /**
     * @param mixed $bairro
     */
    public function setBairro($bairro): void
    {
        $this->bairro = $bairro;
    }

    /**
     * @return mixed
     */
    public function getCidade()
    {
        return $this->cidade;
    }

    /**
     * @param mixed $cidade
     */
    public function setCidade($cidade): void
    {
        $this->cidade = $cidade;
    }

    /**
     * @return mixed
     */
    public function getEstado()
    {
        return $this->estado;
    }

    /**
     * @param mixed $estado
     */
    public function setEstado($estado): void
    {
        $this->estado = $estado;
    }




}