<?php

namespace App\Entities\ComandaLancamento;

use App\Utils\Builder;

class ComandaLancamentoBuilder implements Builder {
	protected $id;
	protected $comanda_item_id;
	protected $comanda_fechamento_id;
	protected $criado_por;
	protected $data_criacao;
	protected $hora_criacao;
	protected $atualizado_por;
	protected $data_atualizacao;
	protected $hora_atualizacao;
	protected $extornado;

	public function build(): ComandaLancamento {

		$comandaLancamento = new ComandaLancamento();

		if (isset( $this->id )) {
			$comandaLancamento->setid( $this->id );
		}
		if (isset( $this->extornado )) {
			$comandaLancamento->setExtornado( $this->extornado );
		}
		if (isset( $this->comanda_item_id )) {
			$comandaLancamento->setComanda_item_id( $this->comanda_item_id );
		}
		if (isset( $this->comanda_fechamento_id )) {
			$comandaLancamento->setComada_fechamento_id( $this->comanda_fechamento_id );
		}
		if (isset( $this->criado_por )) {
			$comandaLancamento->setCriado_por( $this->criado_por );
		}
		if (isset( $this->data_criacao )) {
			$comandaLancamento->setData_criacao( $this->data_criacao );
		}
		if (isset( $this->hora_criacao )) {
			$comandaLancamento->setHora_criacao( $this->hora_criacao );
		}
		if (isset( $this->data_atualizacao )) {
			$comandaLancamento->setData_atualizacao( $this->data_atualizacao );
		}
		if (isset( $this->hora_atualizacao )) {
			$comandaLancamento->setHora_atualizacao( $this->hora_atualizacao );
		}

		return $comandaLancamento;

	}

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

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

	}

	/**
	 *
	 * @param mixed $id
	 */
	public function setExtornado($extorndo): ComandaLancamentoBuilder {

		$this->extornado = $extorndo;
		return $this;

	}

	/**
	 *
	 * @param mixed $comanda_item_id
	 */
	public function setComanda_item_id($comanda_item_id): ComandaLancamentoBuilder {

		$this->comanda_item_id = $comanda_item_id;
		return $this;

	}

	/**
	 *
	 * @param mixed $comanda_fechamento_id
	 */
	public function setComanda_fechamento_id($comanda_fechamento_id): ComandaLancamentoBuilder {

		$this->comanda_fechamento_id = $comanda_fechamento_id;
		return $this;

	}

	/**
	 *
	 * @param mixed $criado_por
	 */
	public function setCriado_por($criado_por): ComandaLancamentoBuilder {

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

	}

	/**
	 *
	 * @param mixed $data_criacao
	 */
	public function setData_criacao($data_criacao): ComandaLancamentoBuilder {

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

	}

	/**
	 *
	 * @param mixed $hora_criacao
	 */
	public function setHora_criacao($hora_criacao): ComandaLancamentoBuilder {

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

	}

	/**
	 *
	 * @param mixed $atualizado_por
	 */
	public function setAtualizado_por($atualizado_por): ComandaLancamentoBuilder {

		$this->atualizado_por = $atualizado_por;
		return $this;

	}

	/**
	 *
	 * @param mixed $data_atualizacao
	 */
	public function setData_atualizacao($data_atualizacao): ComandaLancamentoBuilder {

		$this->data_atualizacao = $data_atualizacao;
		return $this;

	}

	/**
	 *
	 * @param mixed $hora_atualizacao
	 */
	public function setHora_atualizacao($hora_atualizacao): ComandaLancamentoBuilder {

		$this->hora_atualizacao = $hora_atualizacao;
		return $this;

	}

}

