<?php

namespace App\Entities\Prontuario;

use App\Utils\Builder;

class ProntuarioBuilder implements Builder {
	protected $id;
	protected $adicionado_por;
	protected $alterado_por;
	protected $criado_em;
	protected $alterado_em;
	protected $id_paciente;
	protected $id_medico;

	/**
	 *
	 * @param mixed $id
	 * @return ProntuarioBuilder
	 */
	public function setId($id) {

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

	}

	/**
	 *
	 * @param mixed $adicionado_por
	 * @return ProntuarioBuilder
	 */
	public function setAdicionadoPor($adicionado_por) {

		$this->adicionado_por = $adicionado_por;
		return $this;

	}

	/**
	 *
	 * @param mixed $alterado_por
	 * @return ProntuarioBuilder
	 */
	public function setAlteradoPor($alterado_por) {

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

	}

	/**
	 *
	 * @param mixed $criado_em
	 * @return ProntuarioBuilder
	 */
	public function setCriadoEm($criado_em) {

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

	}

	/**
	 *
	 * @param mixed $alterado_em
	 * @return ProntuarioBuilder
	 */
	public function setAlteradoEm($alterado_em) {

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

	}

	/**
	 *
	 * @param mixed $id_paciente
	 * @return ProntuarioBuilder
	 */
	public function setIdPaciente($id_paciente) {

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

	}

	/**
	 *
	 * @param mixed $id_medico
	 * @return ProntuarioBuilder
	 */
	public function setIdMedico($id_medico) {

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

	}

	public function build(): Prontuario {

		$consulta = new Prontuario();
		if (isset( $this->id )) {
			$consulta->setId( $this->id );
		}
		if (isset( $this->adicionado_por )) {
			$consulta->setAdicionadoPor( $this->adicionado_por );
		}
		if (isset( $this->alterado_por )) {
			$consulta->setAlteradoPor( $this->alterado_por );
		}
		if (isset( $this->criado_em )) {
			$consulta->setCriadoEm( $this->criado_em );
		}
		if (isset( $this->alterado_em )) {
			$consulta->setAlteradoEm( $this->alterado_em );
		}
		if (isset( $this->id_paciente )) {
			$consulta->setIdPaciente( $this->id_paciente );
		}
		if (isset( $this->id_medico )) {
			$consulta->setIdMedico( $this->id_medico );
		}

		return $consulta;

	}

}