<?php

namespace App\ViewModels\Arquivo\ArquivoRegistrationViewModel;

use App\Utils\Builder;

class ArquivoRegistrationViewModelBuilder implements Builder {
	protected $descricao;
	protected $id_clinica;
	protected $id_medico;
	protected $id_paciente;
	protected $id_pet;
	protected $arquivo;
	protected $criado_por;
	protected $tutor_view;

	/**
	 *
	 * @param mixed $tutor_view
	 * @return ArquivoRegistrationViewModelBuilder
	 */
	public function setTutorView($tutor_view) {

		$this->tutor_view = $tutor_view;
		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 setIdPet($idpet) {

		$this->id_pet = $idpet;
		return $this;

	}

	public function setArquivo($arquivo) {

		$this->arquivo = $arquivo;
		return $this;

	}

	public function setCriadoPor($criado_por) {

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

	}

	public function build(): ArquivoRegistrationViewModel {

		$procedimento_registration_vm = new ArquivoRegistrationViewModel();

		$procedimento_registration_vm->setDescricao( $this->descricao );
		$procedimento_registration_vm->setIdMedico( $this->id_medico );
		$procedimento_registration_vm->setIdPaciente( $this->id_paciente );
		$procedimento_registration_vm->setIdPet( $this->id_pet );
		$procedimento_registration_vm->setIdClinica( $this->id_clinica );
		$procedimento_registration_vm->setArquivo( $this->arquivo );
		$procedimento_registration_vm->setCriadoPor( $this->criado_por );
		$procedimento_registration_vm->setTutorView( $this->tutor_view );

		return $procedimento_registration_vm;

	}

}