<?php

namespace App\ViewModels\Agendamento\AgendamentoRegistrationViewModel;

use App\Utils\Builder;

class AgendamentoRegistrationViewModelBuilder implements Builder {
	protected $id_agenda;
	protected $id_cliente;
	protected $id_paciente;
	protected $id_pet;
	protected $id_procedimento;
	protected $id_requisicao;
	protected $adicionado_por;

	public function build(): AgendamentoRegistrationViewModel {

		$agendamento_registration_vm = new AgendamentoRegistrationViewModel();
		$agendamento_registration_vm->setIdAgenda( $this->id_agenda );
		$agendamento_registration_vm->setIdCliente( $this->id_cliente );
		$agendamento_registration_vm->setIdPet( $this->id_pet );
		$agendamento_registration_vm->setIdPaciente( $this->id_paciente );
		$agendamento_registration_vm->setIdProcedimento( $this->id_procedimento );
		$agendamento_registration_vm->setIdRequisicao( $this->id_requisicao );
		$agendamento_registration_vm->setAdicionadoPor( $this->adicionado_por );
		return $agendamento_registration_vm;

	}

	public function setIdPet($id_pet) {

		$this->id_pet = $id_pet;
		return $this;

	}

	public function setIdAgenda(int $id_agenda): AgendamentoRegistrationViewModelBuilder {

		$this->id_agenda = $id_agenda;
		return $this;

	}

	public function setIdCliente(int $id_cliente): AgendamentoRegistrationViewModelBuilder {

		$this->id_cliente = $id_cliente;
		return $this;

	}

	public function setIdPaciente(int $id_paciente): AgendamentoRegistrationViewModelBuilder {

		$this->id_paciente = $id_paciente;
		return $this;

	}

	public function setIdProcedimento(int $id_procedimento): AgendamentoRegistrationViewModelBuilder {

		$this->id_procedimento = $id_procedimento;
		return $this;

	}

	public function setIdRequisicao(int $id_requisicao): AgendamentoRegistrationViewModelBuilder {

		$this->id_requisicao = $id_requisicao;
		return $this;

	}

	public function setAdicionadoPor(int $adicionado_por): AgendamentoRegistrationViewModelBuilder {

		$this->adicionado_por = $adicionado_por;
		return $this;

	}

}