<?php


namespace App\ViewModels\Agendamento\AgendamentoUpdateViewModel;



use App\Utils\Builder;

class AgendamentoUpdateViewModelBuilder implements Builder
{
    protected ?int $id_agenda;
    protected ?int $id_cliente;
    protected ?int $id_paciente;
    protected ?int $id_procedimento;
    protected ?int $atrasado;

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

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

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

    public function setIdProcedimento(?int $id_procedimento): AgendamentoUpdateViewModelBuilder
    {
        $this->id_procedimento = $id_procedimento;
        return $this;
    }

    public function setAtrasado(?int $atrasado): AgendamentoUpdateViewModelBuilder
    {
        $this->atrasado = $atrasado;
        return $this;
    }

    public function build() : AgendamentoUpdateViewModel
    {
        $agendamento_update_vm = new AgendamentoUpdateViewModel();
        $agendamento_update_vm->setidagenda($this->id_agenda);
        $agendamento_update_vm->setidcliente($this->id_cliente);
        $agendamento_update_vm->setidpaciente($this->id_paciente);
        $agendamento_update_vm->setidprocedimento($this->id_procedimento);
        $agendamento_update_vm->setatrasado($this->atrasado);
        return $agendamento_update_vm;
    }
}