<?php namespace App\ViewModels\ProcedimentoValor\ProcedimentoSemValorDetailsViewModel;


use App\Utils\Builder;

class ProcedimentoSemValorDetailsViewModelBuilder implements Builder
{
    protected $id_procedimento;
    protected $descricao_procedimento;
    protected $criado_em;
    protected $id_tipo_procedimento;
    protected $criado_por;
    protected $id_convenio_procedimento;

    /**
     * @param mixed $id_procedimento
     * @return ProcedimentoSemValorDetailsViewModelBuilder
     */
    public function setIdProcedimento($id_procedimento)
    {
        $this->id_procedimento = $id_procedimento;
        return $this;
    }

    /**
     * @param mixed $descricao_procedimento
     * @return ProcedimentoSemValorDetailsViewModelBuilder
     */
    public function setDescricaoProcedimento($descricao_procedimento)
    {
        $this->descricao_procedimento = $descricao_procedimento;
        return $this;
    }

    /**
     * @param mixed $criado_em
     * @return ProcedimentoSemValorDetailsViewModelBuilder
     */
    public function setCriadoEm($criado_em)
    {
        $this->criado_em = $criado_em;
        return $this;
    }

    /**
     * @param mixed $id_tipo_procedimento
     * @return ProcedimentoSemValorDetailsViewModelBuilder
     */
    public function setIdTipoProcedimento($id_tipo_procedimento)
    {
        $this->id_tipo_procedimento = $id_tipo_procedimento;
        return $this;
    }

    /**
     * @param mixed $criado_por
     * @return ProcedimentoSemValorDetailsViewModelBuilder
     */
    public function setCriadoPor($criado_por)
    {
        $this->criado_por = $criado_por;
        return $this;
    }

    /**
     * @param mixed $id_convenio_procedimento
     * @return ProcedimentoSemValorDetailsViewModelBuilder
     */
    public function setIdConvenioProcedimento($id_convenio_procedimento)
    {
        $this->id_convenio_procedimento = $id_convenio_procedimento;
        return $this;
    }


    public function build() : ProcedimentoSemValorDetailsViewModel
    {
        $procedimento_details_vm = new ProcedimentoSemValorDetailsViewModel();
        $procedimento_details_vm->setIdProcedimento($this->id_procedimento);
        $procedimento_details_vm->setDescricaoProcedimento($this->descricao_procedimento);
        $procedimento_details_vm->setCriadoEm($this->criado_em);
        $procedimento_details_vm->setIdTipoProcedimento($this->id_tipo_procedimento);
        $procedimento_details_vm->setCriadoPor($this->criado_por);
        $procedimento_details_vm->setIdConvenioProcedimento($this->id_convenio_procedimento);

        return $procedimento_details_vm;
    }

}