<?php

namespace App\ViewModels\Orcamento\OrcamentoClienteItemDetalhe;

use App\Utils\Builder;

class OrcamentoClienteItemDetalheBuilder implements Builder {
	protected $id;
	protected $criadoPor;
	protected $dataCriacao;
	protected $horaCriacao;
	protected $idOrcamento;
	protected $idProcedimento;
	protected $idProcedimentoValor;
	protected $idConvenioProcedimento;
	protected $idTipoPorcedimento;
	protected $idTipoConvenio;
	protected $idUnidade;
	protected $idConvenio;
	protected $listIdRequisicao;
	protected $listIdComandaItem;
	protected $procedimento;
	protected $tipoProcedimento;
	protected $tipoConvenio;
	protected $codConvenio;
	protected $quantidade;
	protected $valorUnidade;
	protected $valor;
	protected $atualizadoPor;
	protected $dataAtualizacao;
	protected $horaAtualizacao;
	protected $statusProcedimentoValor;

	public function build(): OrcamentoClienteItemDetalhe {

		$obj = new OrcamentoClienteItemDetalhe();

		$obj->setId( $this->id );
		$obj->setIdOrcamento( $this->idOrcamento );
		$obj->setIdProcedimento( $this->idProcedimento );
		$obj->setIdConvenioProcedimento( $this->idConvenioProcedimento );
		$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 );

		return $obj;

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

	/**
	 *
	 * @param mixed $idTipoPorcedimento
	 */
	public function setIdTipoPorcedimento($idTipoPorcedimento): OrcamentoClienteItemDetalheBuilder {

		$this->idTipoPorcedimento = $idTipoPorcedimento;
		return $this;

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

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

	}

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

		$this->statusProcedimentoValor = $statusProcedimentoValor;
		return $this;

	}

	/**
	 *
	 * @param mixed $listIdRequisicao
	 */
	public function setListIdRequisicao(array $listIdRequisicao): OrcamentoClienteItemDetalheBuilder {

		$this->listIdRequisicao = $listIdRequisicao;
		return $this;

	}

	/**
	 *
	 * @param mixed $listIdComandaItem
	 */
	public function setListIdComandaItem(array $listIdComandaItem): OrcamentoClienteItemDetalheBuilder {

		$this->listIdComandaItem = $listIdComandaItem;
		return $this;

	}

}

