<?php

namespace App\ViewModels\PagSeguro\PagSeguroCartaoRegistrationViewModel;

use App\Utils\Builder;

class PagSeguroCartaoRegistrationViewModelBuilder implements Builder {
	protected $idUsuario;
	protected $dadosCartao;
	protected $itens;
	protected $dataRequisicap;
	protected $horaRequisicao;
	protected $recorrencia;
	protected $parcelas;
	protected $valor;

	public function build(): PagSeguroCartaoRegistrationViewModel {

		$obj = new PagSeguroCartaoRegistrationViewModel();
		$obj->setIdUsuario( $this->idUsuario );
		$obj->setDadosCartao( $this->dadosCartao );
		$obj->setValor( $this->valor );
		$obj->setRecorrencia( $this->recorrencia );
		$obj->setParcelas( $this->parcelas );
		$obj->setItens( $this->itens );
		$obj->setDataRequisicap( $this->dataRequisicap );
		$obj->setHoraRequisicao( $this->horaRequisicao );

		return $obj;

	}

	/**
	 *
	 * @param mixed $idUsuario
	 */
	public function setIdUsuario($idUsuario): PagSeguroCartaoRegistrationViewModelBuilder {

		$this->idUsuario = $idUsuario;
		return $this;

	}

	/**
	 *
	 * @param mixed $dadosCartao
	 */
	public function setDadosCartao($dadosCartao): PagSeguroCartaoRegistrationViewModelBuilder {

		$this->dadosCartao = $dadosCartao;
		return $this;

	}

	/**
	 *
	 * @param mixed $itens
	 */
	public function setItens($itens): PagSeguroCartaoRegistrationViewModelBuilder {

		$this->itens = $itens;
		return $this;

	}

	/**
	 *
	 * @param mixed $dataRequisicap
	 */
	public function setDataRequisicap($dataRequisicap): PagSeguroCartaoRegistrationViewModelBuilder {

		$this->dataRequisicap = $dataRequisicap;
		return $this;

	}

	/**
	 *
	 * @param mixed $horaRequisicao
	 */
	public function setHoraRequisicao($horaRequisicao): PagSeguroCartaoRegistrationViewModelBuilder {

		$this->horaRequisicao = $horaRequisicao;
		return $this;

	}

	/**
	 *
	 * @param mixed $recorrencia
	 */
	public function setRecorrencia($recorrencia): PagSeguroCartaoRegistrationViewModelBuilder {

		$this->recorrencia = $recorrencia;
		return $this;

	}

	/**
	 *
	 * @param mixed $parcelas
	 */
	public function setParcelas($parcelas): PagSeguroCartaoRegistrationViewModelBuilder {

		$this->parcelas = $parcelas;
		return $this;

	}

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

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

	}

}

