<?php

namespace App\ViewModels\Extorno\ExtornoDetailsViewModel;

use App\Utils\Builder;

class ExtornoDetailsViewModelBuilder implements Builder {
	protected $id;
	protected $id_comanda;
	protected $id_unidade;
	protected $nome_unidade;
	protected $id_tipo_extorno;
	protected $descricao_tipo_extorno;
	protected $valor;
	protected $criado_por;
	protected $nome;
	protected $data_criacao;
	protected $hora_criacao;
	protected $observacao;

	public function build(): ExtornoDetailsViewModel {

		$extorno = new ExtornoDetailsViewModel();

		$extorno->setId( $this->id );
		$extorno->setIdComanda( $this->id_comanda );
		$extorno->setIdUnidade($this->id_unidade);
		$extorno->setNomeUnidade($this->nome_unidade);
		$extorno->setIdTipoExtorno( $this->id_tipo_extorno );
		$extorno->setDescricaoTipoExtorno($this->descricao_tipo_extorno);
		$extorno->setValor( $this->valor );
		$extorno->setCriadoPor( $this->criado_por );
		$extorno->setNome($this->nome);
		$extorno->setDataCriacao( $this->data_criacao );
		$extorno->setHoraCriacao( $this->hora_criacao );
		$extorno->setObservacao( $this->observacao );

		return $extorno;

	}

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

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

	}

	/**
	 *
	 * @param mixed $id_comanda
	 */
	public function setIdComanda($id_comanda) {

		$this->id_comanda = $id_comanda;
		return $this;

	}

	/**
	 *
	 * @param mixed $id_tipo_extorno
	 */
	public function setIdTipoExtorno($id_tipo_extorno) {

		$this->id_tipo_extorno = $id_tipo_extorno;
		return $this;

	}

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

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

	}

	/**
	 *
	 * @param mixed $criado_por
	 */
	public function setCriadoPor($criado_por) {

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

	}

	/**
	 *
	 * @param mixed $data_criacao
	 */
	public function setDataCriacao($data_criacao) {

		$this->data_criacao = $data_criacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $hora_criacao
	 */
	public function setHoraCriacao($hora_criacao) {

		$this->hora_criacao = $hora_criacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $observacao
	 */
	public function setObservacao($observacao) {

		$this->observacao = $observacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $id_unidade
	 */
	public function setIdUnidade($id_unidade) {

		$this->id_unidade = $id_unidade;
		return $this;

	}

	/**
	 *
	 * @param mixed $nome_unidade
	 */
	public function setNomeUnidade($nome_unidade) {

		$this->nome_unidade = $nome_unidade;
		return $this;

	}

	/**
	 *
	 * @param mixed $descricao_tipo_extorno
	 */
	public function setDescricaoTipoExtorno($descricao_tipo_extorno) {

		$this->descricao_tipo_extorno = $descricao_tipo_extorno;
		return $this;

	}

	/**
	 *
	 * @param mixed $nome
	 */
	public function setNome($nome) {

		$this->nome = $nome;
		return $this;

	}

}

