<?php

namespace App\Entities\Galeria;

use App\Utils\Builder;
use App\Utils\Entity;

class GaleriaBuilder implements Builder {
	protected $id;
	protected $descricao;
	protected $imagem;
	protected $id_clinica;
	protected $id_medico;
	protected $id_paciente;
	protected $criado_em;
	protected $alterado_em;
	protected $criado_por;
	protected $alterado_por;

	public function setId($id) {

		$this->id = $id;
		return $this;

	}

	public function setDescricao($descricao) {

		$this->descricao = $descricao;
		return $this;

	}

	public function setIdClinica($id_clinica) {

		$this->id_clinica = $id_clinica;
		return $this;

	}

	public function setIdMedico($id_medico) {

		$this->id_medico = $id_medico;
		return $this;

	}

	public function setIdPaciente($id_paciente) {

		$this->id_paciente = $id_paciente;
		return $this;

	}

	public function setCriadoEm($criado_em) {

		$this->criado_em = $criado_em;
		return $this;

	}

	public function setAlteradoEm($alterado_em) {

		$this->alterado_em = $alterado_em;
		return $this;

	}

	public function setCriadoPor($criado_por) {

		$this->criado_por = $criado_por;
		return $this;

	}

	public function setAlteradoPor($alterado_por) {

		$this->alterado_por = $alterado_por;
		return $this;

	}

	public function setImagem($imagem) {

		$this->imagem = $imagem;
		return $this;

	}

	public function build(): Galeria {

		$procedimento = new Galeria();
		if (isset( $this->id )) {
			$procedimento->setId( $this->id );
		}
		if (isset( $this->descricao )) {
			$procedimento->setDescricao( $this->descricao );
		}
		if (isset( $this->id_clinica )) {
			$procedimento->setIdClinica( $this->id_clinica );
		}
		if (isset( $this->id_medico )) {
			$procedimento->setIdMedico( $this->id_medico );
		}
		if (isset( $this->id_paciente )) {
			$procedimento->setIdPaciente( $this->id_paciente );
		}
		if (isset( $this->criado_em )) {
			$procedimento->setCriadoEm( $this->criado_em );
		}
		if (isset( $this->alterado_em )) {
			$procedimento->setAlteradoEm( $this->alterado_em );
		}
		if (isset( $this->criado_por )) {
			$procedimento->setCriadoPor( $this->criado_por );
		}
		if (isset( $this->alterado_por )) {
			$procedimento->setAlteradoPor( $this->alterado_por );
		}
		if (isset( $this->imagem )) {
			$procedimento->setImagem( $this->imagem );
		}
		return $procedimento;

	}

}