<?php

namespace App\ViewModels\Orcamento\OrcamentoCienteDetalheRegistrationViewModel;

use App\Utils\Builder;

class OrcamentoClienteDetalheRegistrationViewModelBuilder implements Builder {
	protected $id;
	protected $idOrcamento;
	protected $idProcedimento;
	protected $idTipoProcedimento;
	protected $idConvenio;
	protected $idConvenioProcedimento;
	protected $idProcedimentoValor;
	protected $idTipoConvenio;
	protected $idUnidade;
	protected $procedimento;
	protected $tipoProcedimento;
	protected $tipoConvenio;
	protected $codConvenio;
	protected $quantidade;
	protected $valorUnidade;
	protected $valor;
	protected $criadoPor;
	protected $dataCriacao;
	protected $horaCriacao;
	protected $atualizadoPor;
	protected $dataAtualizacao;
	protected $horaAtualizacao;
	protected $statusProcedimentoValor;
	public function build(): OrcamentoClienteDetalheRegistarionViewModel {

		$obj = new  OrcamentoClienteDetalheRegistarionViewModel();

		$obj->setId( $this->id );
		$obj->setIdOrcamento( $this->idOrcamento );
		$obj->setIdProcedimento( $this->idProcedimento );
		$obj->setProcedimento( $this->procedimento ?? '' );
		$obj->setIdConvenioProcedimento( $this->idConvenioProcedimento );
		$obj->setIdTipoProcedimento( $this->idTipoProcedimento );
		$obj->setTipoProcedimento( $this->tipoProcedimento );
		$obj->setIdProcedimentoValor( $this->idProcedimentoValor );
		$obj->setQuantidade( $this->quantidade );
		$obj->setValorUnidade( $this->valorUnidade );
		$obj->setValor( $this->valor );
		$obj->setCriadoPor( $this->criadoPor );
		$obj->setDataCriacao( $this->dataCriacao );
		$obj->setHoraCriacao( $this->horaCriacao );
		$obj->setAtualizadoPor( $this->atualizadoPor );
		$obj->setDataAtualizacao( $this->dataAtualizacao );
		$obj->setHoraAtualizacao( $this->horaAtualizacao );
		
		
	
		$obj->setIdTipoConvenio( $this->idTipoConvenio  );
		$obj->setTipoConvenio( $this->tipoConvenio );
		$obj->setIdConvenio( $this->idConvenio );
		$obj->setCodConvenio( $this->codConvenio );
		$obj->setIdUnidade( $this->idUnidade );
		$obj->setStatusProcedimentoValor( $this->statusProcedimentoValor );

		return $obj;

	}

	/**
	 *
	 * @param mixed $id
	 */
	public function setId($id): OrcamentoClienteDetalheRegistrationViewModelBuilder {

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

	}

	/**
	 *
	 * @param mixed $idOrcamento
	 */
	public function setIdOrcamento($idOrcamento): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->idOrcamento = $idOrcamento;
		return $this;

	}

	/**
	 *
	 * @param mixed $idProcedimento
	 */
	public function setIdProcedimento($idProcedimento): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->idProcedimento = $idProcedimento;
		return $this;

	}

	/**
	 *
	 * @param mixed $idConvenioProcedimento
	 */
	public function setIdConvenioProcedimento($idConvenioProcedimento): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->idConvenioProcedimento = $idConvenioProcedimento;
		return $this;

	}

	/**
	 *
	 * @param mixed $idProcedimentoValor
	 */
	public function setIdProcedimentoValor($idProcedimentoValor): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->idProcedimentoValor = $idProcedimentoValor;
		return $this;

	}

	/**
	 *
	 * @param mixed $valor
	 */
	public function setValor($valor): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->valor = $valor;
		return $this;

	}

	/**
	 *
	 * @param mixed $criadoPor
	 */
	public function setCriadoPor($criadoPor): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->criadoPor = $criadoPor;
		return $this;

	}

	/**
	 *
	 * @param mixed $dataCriacao
	 */
	public function setDataCriacao($dataCriacao): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->dataCriacao = $dataCriacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $horaCriacao
	 */
	public function setHoraCriacao($horaCriacao): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->horaCriacao = $horaCriacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $atualizadoPor
	 */
	public function setAtualizadoPor($atualizadoPor): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->atualizadoPor = $atualizadoPor;
		return $this;

	}

	/**
	 *
	 * @param mixed $dataAtualizacao
	 */
	public function setDataAtualizacao($dataAtualizacao): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->dataAtualizacao = $dataAtualizacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $horaAtualizacao
	 */
	public function setHoraAtualizacao($horaAtualizacao): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->horaAtualizacao = $horaAtualizacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $quantidade
	 */
	public function setQuantidade($quantidade): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->quantidade = $quantidade;
		return $this;

	}

	/**
	 *
	 * @param mixed $valorUnidade
	 */
	public function setValorUnidade($valorUnidade): OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->valorUnidade = $valorUnidade;
		return $this;

	}
	/**
	 * @param mixed $idTipoProcedimento
	 */
	public function setIdTipoProcedimento($idTipoProcedimento):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->idTipoProcedimento = $idTipoProcedimento;
		return $this;
	}


	/**
	 * @param mixed $idConvenio
	 */
	public function setIdConvenio($idConvenio):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->idConvenio = $idConvenio;
		return $this;
	}


	/**
	 * @param mixed $idTipoConvenio
	 */
	public function setIdTipoConvenio($idTipoConvenio):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->idTipoConvenio = $idTipoConvenio;
		return $this;
	}


	/**
	 * @param mixed $idUnidade
	 */
	public function setIdUnidade($idUnidade):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->idUnidade = $idUnidade;
		return $this;
	}


	/**
	 * @param mixed $procedimento
	 */
	public function setProcedimento($procedimento):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->procedimento = $procedimento;
		return $this;
	}


	/**
	 * @param mixed $tipoProcedimento
	 */
	public function setTipoProcedimento($tipoProcedimento):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->tipoProcedimento = $tipoProcedimento;
		return $this;
	}


	/**
	 * @param mixed $tipoConvenio
	 */
	public function setTipoConvenio($tipoConvenio):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->tipoConvenio = $tipoConvenio;
		return $this;
	}


	/**
	 * @param mixed $codConvenio
	 */
	public function setCodConvenio($codConvenio):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->codConvenio = $codConvenio;
		return $this;
	}


	/**
	 * @param mixed $statusProcedimentoValor
	 */
	public function setStatusProcedimentoValor($statusProcedimentoValor):OrcamentoClienteDetalheRegistrationViewModelBuilder {

		$this->statusProcedimentoValor = $statusProcedimentoValor;
	}



}

