<?php
namespace App\Entities\Unidade;

use App\Utils\Builder;
use App\Utils\Entity;

class UnidadeBuilder implements Builder
{
    protected $id;
    protected $descricao;
    protected $id_pessoa_juridica;
    protected $telemedicina;
    protected $id_chamefacil_server;

    /**
     * @param mixed $id
     * @return UnidadeBuilder
     */
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * @param mixed $id_chamefacil_server
     * @return UnidadeBuilder
     */
    public function setIdChamefacilServer($id_chamefacil_server)
    {
        $this->id_chamefacil_server = $id_chamefacil_server;
        return $this;
    }

    /**
     * @param mixed $descricao
     * @return UnidadeBuilder
     */
    public function setDescricao($descricao)
    {
        $this->descricao = $descricao;
        return $this;
    }

    /**
     * @param mixed $id_pessoa_juridica
     * @return UnidadeBuilder
     */
    public function setIdPessoaJuridica($id_pessoa_juridica)
    {
        $this->id_pessoa_juridica = $id_pessoa_juridica;
        return $this;
    }

    /**
     * @param mixed $telemedicina
     * @return UnidadeBuilder
     */
    public function setTelemedicina($telemedicina)
    {
        $this->telemedicina = $telemedicina;
        return $this;
    }


    public function build() : Unidade
    {
        $exame = new Unidade();
        if (isset($this->id)) {
            $exame->setId($this->id);
        }
        if (isset($this->descricao)) {
            $exame->setDescricao($this->descricao);
        }
        if (isset($this->id_pessoa_juridica)) {
            $exame->setIdPessoaJuridica($this->id_pessoa_juridica);
        }
        if (isset($this->telemedicina)) {
            $exame->setTelemedicina($this->telemedicina);
        }
        if (isset($this->id_chamefacil_server)) {
            $exame->setIdChamefacilServer($this->id_chamefacil_server);
        }
        return $exame;
    }
}