<?php

namespace App\ViewModels\FormaPagamento\FormaPagamentoRegistrationViewModel;

use App\Utils\Builder;
use App\Utils\ResponseException;
use Config\CustomRules;
use Exception;

class CardRegistrationViewModelBuilder implements Builder {
	protected $number;
	protected $bandeira;
	protected $mes_val;
	protected $ano_val;
	protected $cvv;
	protected $titular;
	protected $codauth;
	protected $maquineta;
	protected $debcred;

	public function build() {

		$card_registration_view_model = new CardRegistrationViewModel();
		$card_registration_view_model->setNumber( $this->number );
		$card_registration_view_model->setBandeira( $this->bandeira );
		$card_registration_view_model->setMesVal( $this->mes_val );
		$card_registration_view_model->setAnoVal( $this->ano_val );
		$card_registration_view_model->setCvv( $this->cvv );
		$card_registration_view_model->setTitular( $this->titular );
		$card_registration_view_model->setCodauth( $this->codauth );
		$card_registration_view_model->setMaquineta( $this->maquineta );
		$card_registration_view_model->setDebcred( $this->debcred );

		return $card_registration_view_model;

	}

	/**
	 *
	 * @param mixed $number
	 */
	public function setNumber($number) {

		$this->number = $number;
		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 $titular
	 */
	public function setTitular($titular) {

		$this->titular = $titular;
		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;

	}

}
