<?php

namespace App\ViewModels\AgendaEspecialidade\AgendaEspecialidadeDisponibilidadeDetailsViewModel;

use App\Utils\Builder;

class AgendaEspecialidadeDisponibilidadeDetailsViewModelBuilder implements Builder {
	protected $idUnidade;
	protected $idEspecialidade;
	protected $dataInicial;
	protected $dataFinal;
	protected $horaInicial;
	protected $horaFinal;

	public function build(): AgendaEspecialidadeDisponibilidadeDetailsViewModel {

		$obj = new AgendaEspecialidadeDisponibilidadeDetailsViewModel();

		$obj->setIdUnidade( $this->idUnidade );
		$obj->setIdEspecialidade( $this->idEspecialidade );
		$obj->setDataFinal( $this->dataFinal );
		$obj->setDataInicial( $this->dataInicial );
		$obj->setHoraInicial( $this->horaInicial );
		$obj->setHoraFinal( $this->horaFinal );

		return $obj;

	}

	/**
	 *
	 * @param mixed $idUnidade
	 */
	public function setIdUnidade($idUnidade): AgendaEspecialidadeDisponibilidadeDetailsViewModelBuilder {

		$this->idUnidade = $idUnidade;
		return $this;

	}

	/**
	 *
	 * @param mixed $idEspecialidade
	 */
	public function setIdEspecialidade($idEspecialidade): AgendaEspecialidadeDisponibilidadeDetailsViewModelBuilder {

		$this->idEspecialidade = $idEspecialidade;
		return $this;

	}

	/**
	 *
	 * @param mixed $dataInicial
	 */
	public function setDataInicial($dataInicial): AgendaEspecialidadeDisponibilidadeDetailsViewModelBuilder {

		$this->dataInicial = $dataInicial;
		return $this;

	}

	/**
	 *
	 * @param mixed $dataFinal
	 */
	public function setDataFinal($dataFinal): AgendaEspecialidadeDisponibilidadeDetailsViewModelBuilder {

		$this->dataFinal = $dataFinal;
		return $this;

	}

	/**
	 *
	 * @param mixed $horaInicial
	 */
	public function setHoraInicial($horaInicial): AgendaEspecialidadeDisponibilidadeDetailsViewModelBuilder {

		$this->horaInicial = $horaInicial;
		return $this;

	}

	/**
	 *
	 * @param mixed $horaFinal
	 */
	public function setHoraFinal($horaFinal): AgendaEspecialidadeDisponibilidadeDetailsViewModelBuilder {

		$this->horaFinal = $horaFinal;
		return $this;

	}

}

