<?php namespace App\ViewModels\EspecialidadeProcedimento\EspecialidadeProcedimentoDetailsViewModel;


use App\Utils\Builder;

class EspecialidadeProcedimentoDetailsViewModelBuilder implements Builder
{
    protected $id;
    protected $id_especialidade;
    protected $id_procedimento;
    protected $id_tipo_procedimento;
    protected $descricao_procedimento;
    protected $descricao_especialidade;

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

    /**
     * @param mixed $id_especialidade
     * @return EspecialidadeProcedimentoDetailsViewModelBuilder
     */
    public function setIdEspecialidade($id_especialidade)
    {
        $this->id_especialidade = $id_especialidade;
        return $this;
    }

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

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

    /**
     * @param mixed $descricao_especialidade
     * @return EspecialidadeProcedimentoDetailsViewModelBuilder
     */
    public function setDescricaoEspecialidade($descricao_especialidade)
    {
        $this->descricao_especialidade = $descricao_especialidade;
        return $this;
    }

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

    public function build() : EspecialidadeProcedimentoDetailsViewModel
    {
        $procedimento_details_vm = new EspecialidadeProcedimentoDetailsViewModel();
        $procedimento_details_vm->setId($this->id);
        $procedimento_details_vm->setIdProcedimento($this->id_procedimento);
        $procedimento_details_vm->setIdTipoProcedimento($this->id_tipo_procedimento);
        $procedimento_details_vm->setIdEspecialidade($this->id_especialidade);
        $procedimento_details_vm->setDescricaoEspecialidade($this->descricao_especialidade);
        $procedimento_details_vm->setDescricaoProcedimento($this->descricao_procedimento);
        return $procedimento_details_vm;
    }


}