<?php
namespace App\ViewModels\PreAgendamento\PreAgendamentoRegistrationViewModel;

use App\Utils\Builder;

class PreAgendamentoRegistrationViewModelBuilder implements Builder
{
    protected $id_agenda_especialidade;
    protected $id_especialidade;
    protected $cliente_nome;
    protected $cliente_telefone;
    protected $alterado_por;
    protected $criado_por;
    protected $status;

    /**
     * @param mixed $id_agenda_especialidade
     * @return PreAgendamentoRegistrationViewModelBuilder
     */
    public function setIdAgendaEspecialidade($id_agenda_especialidade)
    {
        $this->id_agenda_especialidade = $id_agenda_especialidade;
        return $this;
    }

    /**
     * @param mixed $cliente_nome
     * @return PreAgendamentoRegistrationViewModelBuilder
     */
    public function setClienteNome($cliente_nome)
    {
        $this->cliente_nome = $cliente_nome;
        return $this;
    }

    /**
     * @param mixed $cliente_telefone
     * @return PreAgendamentoRegistrationViewModelBuilder
     */
    public function setClienteTelefone($cliente_telefone)
    {
        $this->cliente_telefone = $cliente_telefone;
        return $this;
    }

    /**
     * @param mixed $alterado_por
     * @return PreAgendamentoRegistrationViewModelBuilder
     */
    public function setAlteradoPor($alterado_por)
    {
        $this->alterado_por = $alterado_por;
        return $this;
    }

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

    /**
     * @param mixed $status
     * @return PreAgendamentoRegistrationViewModelBuilder
     */
    public function setStatus($status)
    {
        $this->status = $status;
        return $this;
    }

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

    public function build() : PreAgendamentoRegistrationViewModel
    {
        $procedimento_registration_vm = new PreAgendamentoRegistrationViewModel ();
        $procedimento_registration_vm->setIdAgendaEspecialidade($this->id_agenda_especialidade);
        $procedimento_registration_vm->setIdEspecialidade($this->id_especialidade);
        $procedimento_registration_vm->setClienteNome($this->cliente_nome);
        $procedimento_registration_vm->setClienteTelefone($this->cliente_telefone);
        $procedimento_registration_vm->setCriadoPor($this->criado_por);
        $procedimento_registration_vm->setAlteradoPor($this->alterado_por);
        $procedimento_registration_vm->setStatus($this->status);
        return $procedimento_registration_vm;
    }


}