<?php

namespace App\ViewModels\Dashboard\DashboardPacienteViewModel;

use App\Utils\Builder;

class DashboardPacienteViewModelBuilder implements Builder {
	protected $id_agendamento;
	protected $id_requisicao;
	protected $descricao_tipo_procedimento;
	protected $descricao_procedimento;
	protected $hora_inicio;
	protected $hora_final;
	protected $data;

	public function build(): DashboardPacienteViewModel {

		$dashboardPacienteVM = new DashboardPacienteViewModel();
		$dashboardPacienteVM->setid_agendamento( $this->id_agendamento );
		$dashboardPacienteVM->setid_requisicao( $this->id_requisicao );
		$dashboardPacienteVM->setdescricao_tipo_procedimento( $this->descricao_tipo_procedimento );
		$dashboardPacienteVM->setdescricao_procedimento( $this->descricao_procedimento );
		$dashboardPacienteVM->sethora_inicio( $this->hora_inicio );
		$dashboardPacienteVM->sethora_final( $this->hora_final );
		$dashboardPacienteVM->setdata( $this->data );
		return $dashboardPacienteVM;

	}

	public function setid_agendamento(int $id_agendamento): DashboardPacienteViewModelBuilder {

		$this->id_agendamento = $id_agendamento;
		return $this;

	}

	public function setid_requisicao(int $id_requisicao): DashboardPacienteViewModelBuilder {

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

	}

	public function setdescricao_tipo_procedimento(string $descricao_tipo_procedimento): DashboardPacienteViewModelBuilder {

		$this->descricao_tipo_procedimento = $descricao_tipo_procedimento;
		return $this;

	}

	public function setdescricao_procedimento(string $descricao_procedimento): DashboardPacienteViewModelBuilder {

		$this->descricao_procedimento = $descricao_procedimento;
		return $this;

	}

	public function sethora_inicio(string $hora_inicio): DashboardPacienteViewModelBuilder {

		$this->hora_inicio = $hora_inicio;
		return $this;

	}

	public function sethora_final(string $hora_final): DashboardPacienteViewModelBuilder {

		$this->hora_final = $hora_final;
		return $this;

	}

	public function setdata(string $data): DashboardPacienteViewModelBuilder {

		$this->data = $data;
		return $this;

	}

}