<?php

namespace App\ViewModels\Agenda\AgendaRegistrationViewModel;

use App\Utils\Entity;
use DateTime;

class AgendaRegistrationViewModel extends Entity {
	protected $id_medico;
	protected $id_assistente;
	protected $id_unidade;
	protected $id_tipo_procedimento;
	protected $data;
	protected $hora_inicio;
	protected $hora_final;
	protected $adicionado_por;

	public static function builder(): AgendaRegistrationViewModelBuilder {

		return new AgendaRegistrationViewModelBuilder();

	}

	/**
	 *
	 * @return mixed
	 */
	public function getIdUnidade() {

		return $this->id_unidade;

	}

	/**
	 *
	 * @param mixed $id_unidade
	 */
	public function setIdUnidade($id_unidade): void {

		$this->id_unidade = $id_unidade;

	}

	public function getIdMedico(): int {

		return $this->id_medico;

	}

	public function getIdAssistente(): int {

		return $this->id_assistente;

	}

	public function getIdTipoProcedimento(): int {

		return $this->id_tipo_procedimento;

	}

	public function getData(): DateTime {

		return $this->data;

	}

	public function getHoraInicio(): DateTime {

		return $this->hora_inicio;

	}

	public function getHoraFinal(): DateTime {

		return $this->hora_final;

	}

	public function getAdicionadoPor(): int {

		return $this->adicionado_por;

	}

	public function setIdMedico(int $id_medico): void {

		$this->id_medico = $id_medico;

	}

	public function setIdAssistente(int $id_assistente): void {

		$this->id_assistente = $id_assistente;

	}

	public function setIdTipoProcedimento(int $id_tipo_procedimento): void {

		$this->id_tipo_procedimento = $id_tipo_procedimento;

	}

	public function setData(DateTime $data): void {

		$this->data = $data;

	}

	public function setHoraInicio(DateTime $hora_inicio): void {

		$this->hora_inicio = $hora_inicio;

	}

	public function setHoraFinal(DateTime $hora_final): void {

		$this->hora_final = $hora_final;

	}

	public function setAdicionadoPor(int $adicionado_por): void {

		$this->adicionado_por = $adicionado_por;

	}

}