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

use App\Utils\Builder;

class ProcedimentoRegistrationViewModelBuilder implements Builder
{
    protected $descricao;
    protected $id_tipo_procedimento;
    protected $criado_por;
    protected $exame;

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

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

    public function setCriadoPor(int $criado_por): ProcedimentoRegistrationViewModelBuilder
    {
        $this->criado_por = $criado_por;
        return $this;
    }

    public function setExame($exame)
    {
        $this->exame = $exame;
        return $this;
    }


    public function build() : ProcedimentoRegistrationViewModel
    {
        $procedimento_registration_vm = new ProcedimentoRegistrationViewModel ();
        $procedimento_registration_vm->setdescricao($this->descricao);
        $procedimento_registration_vm->setidTIPOPROCEDIMENTO($this->id_tipo_procedimento);
        $procedimento_registration_vm->setCriadoPor($this->criado_por);
        $procedimento_registration_vm->setExame($this->exame);
        return $procedimento_registration_vm;
    }


}