<?php

namespace App\ViewModels\Pagamento\PagamentoComandaLancamentoRegistrationViewModel;

use App\Utils\Builder;

class PagamentoComandaLancamentoViewModelBuilder 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(): PagamentoComandaLancamentoViewModel {
		
		$pagamentoLancamento_vm = new PagamentoComandaLancamentoViewModel();
		
		$pagamentoLancamento_vm->setId( $this->id );
		$pagamentoLancamento_vm->setComandaItemId( $this->comanda_item_id );
		$pagamentoLancamento_vm->setComandaFechamentoId( $this->comanda_fechamento_id );
		$pagamentoLancamento_vm->setCriado_por( $this->criado_por );
		$pagamentoLancamento_vm->setDataCriacao( $this->data_criacao );
		$pagamentoLancamento_vm->setHoraCriacao( $this->hora_criacao );
		$pagamentoLancamento_vm->setAtualizado_por( $this->atualizado_por );
		$pagamentoLancamento_vm->setDataAtualizacao( $this->data_atualizacao );
		$pagamentoLancamento_vm->setHoraAtualizacao( $this->hora_atualizacao );
		$pagamentoLancamento_vm->setExtornado($this->extornado);
		
		return $pagamentoLancamento_vm;
		
	}
	
	/**
	 *
	 * @param mixed $id
	 */
	public function setId($id){
		
		$this->id = $id;
		return $this;
		
	}
	
	/**
	 *
	 * @param mixed $tipo_fechamento
	 */
	public function setComandaItemId($comanda_item_id) {
		
		$this->comanda_item_id = $comanda_item_id;
		return $this;
		
	}
	
	/**
	 *
	 * @param mixed $valor
	 */
	public function setComandaFechamentoId($comanda_fechamento_id){
		
		$this->comanda_fechamento_id = $comanda_fechamento_id;
		return $this;
		
	}
	
	/**
	 *
	 * @param mixed $criado_por
	 */
	public function setCriado_por($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 $atualizado_por
	 */
	public function setAtualizado_por($atualizado_por) {
		
		$this->atualizado_por = $atualizado_por;
		return $this;
		
	}
	
	/**
	 *
	 * @param mixed $data_atualizacao
	 */
	public function setDataAtualizacao($data_atualizacao) {
		
		$this->data_atualizacao = $data_atualizacao;
		return $this;
		
	}
	
	/**
	 *
	 * @param mixed $hora_atualizacao
	 */
	public function setHoraAtualizacao($hora_atualizacao) {
		
		$this->hora_atualizacao = $hora_atualizacao;
		return $this;
		
	}
	
	public function setExtornado($extornado) {
		
		$this->extornado = $extornado;
		return $this;
		
	}

}

