<?php

namespace App\ViewModels\Loja\LojaProdutoRegistartionViewModel;

use App\Utils\Builder;

class LojaProdutoRegistrationViewModelBuilder implements Builder {

	// protected $id;
	protected $id_loja;
	protected $id_produto;
	protected $id_status;
	protected $criado_por;
	protected $data_criacao;
	protected $hora_criacao;
	// protected $alterado_por;
	protected $data_alteracao;
	protected $hora_alteracao;

	public function build(): LojaProdutoRegistrationViewModel {

		$obj = new LojaProdutoRegistrationViewModel();
		
		$obj->setIdLoja($this->id_loja);
		$obj->setIdProduto($this->id_produto);
		$obj->setIdStatus($this->id_status);
		$obj->setCriadoPor($this->criado_por);
		$obj->setDataCriacao($this->data_criacao);
		$obj->setHoraCriacao($this->hora_criacao);
		$obj->setDataAlteracao($this->data_alteracao);
		$obj->setHoraAlteracao($this->hora_alteracao);

		return $obj;

	}

	/**
	 *
	 * @param mixed $id_loja
	 */
	public function setIdLoja($id_loja): LojaProdutoRegistrationViewModelBuilder {

		$this->id_loja = $id_loja;
		return $this;

	}

	/**
	 *
	 * @param mixed $id_produto
	 */
	public function setIdProduto($id_produto): LojaProdutoRegistrationViewModelBuilder {

		$this->id_produto = $id_produto;
		return $this;

	}

	/**
	 *
	 * @param mixed $id_status
	 */
	public function setIdStatus($id_status): LojaProdutoRegistrationViewModelBuilder {

		$this->id_status = $id_status;
		return $this;

	}

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

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

	}

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

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

	}

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

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

	}

	/**
	 *
	 * @param mixed $data_alteracao
	 */
	public function setDataAlteracao($data_alteracao): LojaProdutoRegistrationViewModelBuilder {

		$this->data_alteracao = $data_alteracao;
		return $this;

	}

	/**
	 *
	 * @param mixed $hora_alteracao
	 */
	public function setHoraAlteracao($hora_alteracao): LojaProdutoRegistrationViewModelBuilder {

		$this->hora_alteracao = $hora_alteracao;
		return $this;

	}

}

