<?php namespace App\ViewModels\Procedimento\ProcedimentoDetailsViewModel;


use App\Utils\Builder;

class ProcedimentoDetailsViewModelBuilder implements Builder
{
    protected $id;
    protected $descricao;
    protected $id_TIPO_PROCEDIMENTO;
    protected $tipo_procedimento;
    protected $exames;

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

    public function setDescricao(string $descricao): ProcedimentoDetailsViewModelBuilder
    {
        $this->descricao = $descricao;
        return $this;
    }

    public function setIdTIPOPROCEDIMENTO(int $id_TIPO_PROCEDIMENTO): ProcedimentoDetailsViewModelBuilder
    {
        $this->id_TIPO_PROCEDIMENTO = $id_TIPO_PROCEDIMENTO;
        return $this;
    }

    public function setTipoProcedimento(string $tipo_procedimento): ProcedimentoDetailsViewModelBuilder
    {
        $this->tipo_procedimento = $tipo_procedimento;
        return $this;
    }

    public function setExames($exames)
    {
        $this->exames = $exames;
        return $this;
    }


    public function build() : ProcedimentoDetailsViewModel
    {
        $procedimento_details_vm = new ProcedimentoDetailsViewModel();
        $procedimento_details_vm->setid($this->id);
        $procedimento_details_vm->setdescricao($this->descricao);
        $procedimento_details_vm->setidTIPOPROCEDIMENTO($this->id_TIPO_PROCEDIMENTO);
        $procedimento_details_vm->setTipoProcedimento($this->tipo_procedimento);
        $procedimento_details_vm->setExames($this->exames);
        return $procedimento_details_vm;
    }


}