<?php


namespace App\Entities\AgendaMedico;

use App\Utils\Entity;

class AgendaMedico extends Entity
{
    protected $id;
    protected $codigo;
    protected $id_medico;
    protected $id_unidade;
    protected $data;
    protected $hora_inicio;
    protected $hora_final;
    protected $id_especialidade;
    protected $adicionado_por;
    protected $alterado_por;
    protected $criado_em;
    protected $alterado_em;

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

    public function getId(): int
    {
        return $this->id;
    }

    public function getCodigo(): string
    {
        return $this->codigo;
    }

    public function getIdMedico()
    {
        return $this->id_medico;
    }

    public function getIdUnidade()
    {
        return $this->id_unidade;
    }

    public function setIdUnidade($id_unidade): void
    {
        $this->id_unidade = $id_unidade;
    }

    public function getData(): string
    {
        return $this->data;
    }

    public function getHoraInicio(): string
    {
        return $this->hora_inicio;
    }

    public function getHoraFinal(): string
    {
        return $this->hora_final;
    }

    public function getAdicionadoPor(): ?int
    {
        return $this->adicionado_por;
    }

    public function getAlteradoPor(): ?int
    {
        return $this->alterado_por;
    }

    public function getCriadoEm(): ?string
    {
        return $this->criado_em;
    }

    public function getAlteradoEm(): ?string
    {
        return $this->alterado_em;
    }

    public function setId(int $id): void
    {
        $this->id = $id;
    }

    public function setCodigo(string $codigo): void
    {
        $this->codigo = $codigo;
    }

    public function setIdMedico($id_medico): void
    {
        $this->id_medico = $id_medico;
    }

    public function setData(string $data): void
    {
        $this->data = $data;
    }

    public function setHoraInicio(string $hora_inicio): void
    {
        $this->hora_inicio = $hora_inicio;
    }

    public function setHoraFinal(string $hora_final): void
    {
        $this->hora_final = $hora_final;
    }

    public function setAdicionadoPor(?int $adicionado_por): void
    {
        $this->adicionado_por = $adicionado_por;
    }

    public function setAlteradoPor(?int $alterado_por): void
    {
        $this->alterado_por = $alterado_por;
    }

    public function setCriadoEm(?string $criado_em): void
    {
        $this->criado_em = $criado_em;
    }

    public function setAlteradoEm(?string $alterado_em): void
    {
        $this->alterado_em = $alterado_em;
    }

    public function getIdEspecialidade()
    {
        return $this->id_especialidade;
    }

    public function setIdEspecialidade($id_especialidade): void
    {
        $this->id_especialidade = $id_especialidade;
    }


}