<?php

namespace App\ViewModels\Pagamento\PagamentoComandaFormaPagamentoRegistrationViewModel;

use App\Utils\Builder;

class FormaPagamentoCartaoViewModelBuilder implements Builder {
	protected $numero;
	protected $bandeira;
	protected $mes_val;
	protected $ano_val;
	protected $cvv;
	protected $codauth;
	protected $maquineta;
	protected $debcred;
	protected $titular;

	public function build(): FormaPagamentoCartaoViewModel {

		$formaPagamentoCartao_vm = new FormaPagamentoCartaoViewModel();

		$formaPagamentoCartao_vm->setNumero( $this->numero ?? '');
		$formaPagamentoCartao_vm->setBandeira( $this->bandeira ?? '');
		$formaPagamentoCartao_vm->setMesVal( $this->mes_val ?? '');
		$formaPagamentoCartao_vm->setAnoVal( $this->ano_val ?? '');
		$formaPagamentoCartao_vm->setCvv( $this->cvv ?? '');
		$formaPagamentoCartao_vm->setMaquineta( $this->maquineta ?? '');
		$formaPagamentoCartao_vm->setCodauth( $this->codauth );
		$formaPagamentoCartao_vm->setDebcred( $this->debcred ?? '');
		$formaPagamentoCartao_vm->setTitular( $this->titular ?? '');

		return $formaPagamentoCartao_vm;

	}

	/**
	 *
	 * @param mixed $numero
	 */
	public function setNumero($numero) {

		$this->numero = $numero;
		return $this;

	}

	/**
	 *
	 * @param mixed $bandeira
	 */
	public function setBandeira($bandeira) {

		$this->bandeira = $bandeira;
		return $this;

	}

	/**
	 *
	 * @param mixed $mes_val
	 */
	public function setMesVal($mes_val) {

		$this->mes_val = $mes_val;
		return $this;

	}

	/**
	 *
	 * @param mixed $ano_val
	 */
	public function setAnoVal($ano_val) {

		$this->ano_val = $ano_val;
		return $this;

	}

	/**
	 *
	 * @param mixed $cvv
	 */
	public function setCvv($cvv) {

		$this->cvv = $cvv;
		return $this;

	}

	/**
	 *
	 * @param mixed $codauth
	 */
	public function setCodauth($codauth) {

		$this->codauth = $codauth;
		return $this;

	}

	/**
	 *
	 * @param mixed $maquineta
	 */
	public function setMaquineta($maquineta) {

		$this->maquineta = $maquineta;
		return $this;

	}

	/**
	 *
	 * @param mixed $debcred
	 */
	public function setDebcred($debcred) {

		$this->debcred = $debcred;
		return $this;

	}

	/**
	 *
	 * @param mixed $titular
	 */
	public function setTitular($titular) {

		$this->titular = $titular;
		return $this;

	}

}

