<?php

namespace App\ViewModels\AgendaEspecialidade\AgendaEspecialidadeDisponibilidadeRegistrationViewModel;

use App\Utils\Builder;

class AgendaEspecialidadeDisponibilidadeRegistrationViewModelBuilder implements Builder {
	protected $idUnidade;
	protected $idEspecialidade;
	protected $dataInicial;
	protected $dataFinal;
	protected $horaInicial;
	protected $horaFinal;
	protected $criadoPor;
	protected $dataCriacao;
	protected $horaCriacao;
	protected $crc;
	protected $ativo;
	protected $dataDisponibilidade;
	
	

	public function build(): AgendaEspecialidadeDisponibilidadeRegistrationViewModel {

		$obj = new AgendaEspecialidadeDisponibilidadeRegistrationViewModel();

		$obj->setIdUnidade( $this->idUnidade );
		$obj->setIdEspecialidade( $this->idEspecialidade );
		$obj->setDataFinal( $this->dataFinal );
		$obj->setDataInicial( $this->dataInicial );
		$obj->setHoraInicial( $this->horaInicial );
		$obj->setHoraFinal( $this->horaFinal );
		$obj->setDataDisponibilidade($this->dataDisponibilidade);
		$obj->setAtivo($this->ativo);
		$obj->setCrc($this->crc);
		$obj->setDataCriacao($this->dataCriacao);
		$obj->setHoraCriacao($this->horaCriacao);
		$obj->setCriadoPor($this->criadoPor);

		return $obj;

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}
	/**
	 * @param mixed $criadoPor
	 */
	public function setCriadoPor($criadoPor): AgendaEspecialidadeDisponibilidadeRegistrationViewModelBuilder {

		$this->criadoPor = $criadoPor;
		return $this;
	}


	/**
	 * @param mixed $dataCriacao
	 */
	public function setDataCriacao($dataCriacao): AgendaEspecialidadeDisponibilidadeRegistrationViewModelBuilder {

		$this->dataCriacao = $dataCriacao;
		return $this;
	}


	/**
	 * @param mixed $horaCriacao
	 */
	public function setHoraCriacao($horaCriacao): AgendaEspecialidadeDisponibilidadeRegistrationViewModelBuilder {

		$this->horaCriacao = $horaCriacao;
		return $this;
	}


	/**
	 * @param mixed $crc
	 */
	public function setCrc($crc): AgendaEspecialidadeDisponibilidadeRegistrationViewModelBuilder {

		$this->crc = $crc;
		return $this;
	}


	/**
	 * @param mixed $ativo
	 */
	public function setAtivo($ativo): AgendaEspecialidadeDisponibilidadeRegistrationViewModelBuilder {

		$this->ativo = $ativo;
		return $this;
	}


	/**
	 * @param mixed $dataDisponibilidade
	 */
	public function setDataDisponibilidade($dataDisponibilidade): AgendaEspecialidadeDisponibilidadeRegistrationViewModelBuilder {

		$this->dataDisponibilidade = $dataDisponibilidade;
		return $this;
	}



}

