<?php

namespace App\ViewModels\Voucher\VoucherChangeStatusViewModel;

use App\Utils\Builder;

class VoucherChangeStatusViewModelBuilder implements Builder {
	protected $id;
	// protected $id_tipo;
	protected $id_compra;
	protected $id_status;
	// protected $serial;
	// protected $id_pet;
	// protected $id_usuario;
	// protected $data_vencimento;
	// protected $criado_por;
	// protected $data_criacao;
	// protected $hora_criacao;
	protected $alterado_por;
	protected $data_alteracao;
	protected $hora_alteracao;

	public function build(): VoucherChangeStatusViewModel {

		$obj = new VoucherChangeStatusViewModel();

		$obj->setId( $this->id );
		$obj->setIdCompra( $this->id_compra );
		$obj->setIdStatus( $this->id_status );
		$obj->setAlteradoPor( $this->alterado_por );
		$obj->setDataAlteracao( $this->data_alteracao );
		$obj->setHoraAlteracao( $this->hora_alteracao );

		return $obj;

	}

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

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

	}

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

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

	}

	/**
	 *
	 * @param mixed $id_compra
	 */
	public function setIdCompra($id_compra): VoucherChangeStatusViewModelBuilder {

		$this->id_compra = $id_compra;
		return $this;

	}

	/**
	 *
	 * @param mixed $alterado_por
	 */
	public function setAlteradoPor($alterado_por): VoucherChangeStatusViewModelBuilder {

		$this->alterado_por = $alterado_por;
		return $this;

	}

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

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

	}

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

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

	}

}

