<?php

namespace App\ViewModels\CreditoCliente\CreditoClienteDetailsViewModel;

use App\Utils\Builder;

class CreditoClienteDetailsViewModelBuilder implements Builder {
	protected $id;
	protected $extornoId;
	protected $creditoId;
	protected $clienteId;
	protected $criadoPor;
	protected $dataCriacao;
	protected $horaCriacao;
	protected $atualizadoPor;
	protected $dataAtualizacao;
	protected $horaAtualizacao;
	protected $valor;
	protected $saldo;
	protected $usado;

	public function build(): CreditoClienteDetailsViewModel {

		$creditoCliente = new CreditoClienteDetailsViewModel();

		$creditoCliente->setId( $this->id );
		$creditoCliente->setExtornoId( $this->extornoId );
		$creditoCliente->setCreditoId( $this->creditoId );
		$creditoCliente->setClienteId( $this->clienteId );
		$creditoCliente->setCriadoPor($this->criadoPor);
		$creditoCliente->setDataCriacao( $this->dataCriacao );
		$creditoCliente->setHoraCriacao( $this->horaCriacao );
		$creditoCliente->setAtualizadoPor($this->atualizadoPor);
		$creditoCliente->setDataAtualizacao($this->dataAtualizacao);
		$creditoCliente->setHoraCriacao($this->horaCriacao);
		$creditoCliente->setSaldo( $this->saldo );
		$creditoCliente->setValor( $this->valor );
		$creditoCliente->setUsado($this->usado);
		
		return $creditoCliente;

	}

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

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

	}

	/**
	 *
	 * @param mixed $extornoId
	 */
	public function setExtornoId($extornoId) {

		$this->extornoId = $extornoId;
		return $this;

	}

	/**
	 *
	 * @param mixed $creditoId
	 */
	public function setCreditoId($creditoId) {

		$this->creditoId = $creditoId;
		return $this;

	}

	/**
	 *
	 * @param mixed $clienteId
	 */
	public function setClienteId($clienteId) {

		$this->clienteId = $clienteId;
		return $this;

	}

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

		$this->criadoPor = $criadoPor;
		return $this;

	}

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

		$this->dataCriacao = $dataCriacao;
		return $this;

	}

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

		$this->horaCriacao = $horaCriacao;
		return $this;

	}

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

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

	}

	/**
	 *
	 * @param mixed $saldo
	 */
	public function setSaldo($saldo) {

		$this->saldo = $saldo;
		return $this;

	}
	/**
	 * @param mixed $atualizadoPor
	 */
	public function setAtualizadoPor($atualizadoPor) {

		$this->atualizadoPor = $atualizadoPor;
	}


	/**
	 * @param mixed $dataAtualizacao
	 */
	public function setDataAtualizacao($dataAtualizacao) {

		$this->dataAtualizacao = $dataAtualizacao;
	}


	/**
	 * @param mixed $horaAtualizacao
	 */
	public function setHoraAtualizacao($horaAtualizacao) {

		$this->horaAtualizacao = $horaAtualizacao;
	}


	/**
	 * @param mixed $usado
	 */
	public function setUsado($usado) {

		$this->usado = $usado;
	}



}

