<?php
namespace App\ViewModels\AgendaEspecialidade\AgendaEspecialidadeRegistrationViewModel;
use App\Utils\Entity;
use DateTime;

class AgendaEspecialidadeRegistrationViewModel extends Entity
{
    protected $id_medico;
    protected $id_unidade;
    protected $id_especialidade;
    protected $data;
    protected $hora_inicio;
    protected $hora_final;
    protected $adicionado_por;

    public static function builder() : AgendaEspecialidadeRegistrationViewModelBuilder
    {
        return new AgendaEspecialidadeRegistrationViewModelBuilder;
    }

    /**
     * @return mixed
     */
    public function getIdEspecialidade()
    {
        return $this->id_especialidade;
    }

    /**
     * @param mixed $id_especialidade
     */
    public function setIdEspecialidade($id_especialidade): void
    {
        $this->id_especialidade = $id_especialidade;
    }

    /**
     * @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 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 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;
    }

}