<?php


namespace App\ViewModels\Agendamento\AgendamentoInfoViewModel;


use App\Utils\Builder;

class AgendamentoInfoViewModelBuilder implements Builder
{
    protected $id_usuario;
    protected $id_agenda;
    protected $id_paciente;
    protected $id_cliente;
    protected $id_consulta;

    public function setIdUsuario(?int $id_usuario): AgendamentoInfoViewModelBuilder
    {
        $this->id_usuario = $id_usuario;
        return $this;
    }

    public function setIdAgenda(int $id_agenda): AgendamentoInfoViewModelBuilder
    {
        $this->id_agenda = $id_agenda;
        return $this;
    }

    public function setIdPaciente(int $id_paciente): AgendamentoInfoViewModelBuilder
    {
        $this->id_paciente = $id_paciente;
        return $this;
    }

    public function setIdCliente(int $id_cliente): AgendamentoInfoViewModelBuilder
    {
        $this->id_cliente = $id_cliente;
        return $this;
    }

    public function setIdConsulta(?int $id_consulta): AgendamentoInfoViewModelBuilder
    {
        $this->id_consulta = $id_consulta;
        return $this;
    }

    public function build() : AgendamentoInfoViewModel
    {
        $agendamento_info_vm = new AgendamentoInfoViewModel();
        $agendamento_info_vm->setidusuario($this->id_usuario);
        $agendamento_info_vm->setidagenda($this->id_agenda);
        $agendamento_info_vm->setidpaciente($this->id_paciente);
        $agendamento_info_vm->setidcliente($this->id_cliente);
        $agendamento_info_vm->setidconsulta($this->id_consulta);
        return $agendamento_info_vm;
    }


}