setAdditionalDataFieldTemplate method

dynamic setAdditionalDataFieldTemplate(
  1. AdditionalDataFieldTemplate? value
)

set additional data field template

/// value is AdditionalDataFieldTemplate()

Implementation

setAdditionalDataFieldTemplate(AdditionalDataFieldTemplate? value) {
  if (value != null) {
    String billNumber = tlvToString(value.value.billNumber);
    String mobileNumber = tlvToString(value.value.mobileNumber);
    String storeLabel = tlvToString(value.value.storeLabel);
    String loyaltyNumber = tlvToString(value.value.loyaltyNumber);
    String referenceLabel = tlvToString(value.value.referenceLabel);
    String customerLabel = tlvToString(value.value.customerLabel);
    String terminalLabel = tlvToString(value.value.terminalLabel);
    String purposeTransaction = tlvToString(value.value.purposeTransaction);
    String additionalConsumerDataRequest =
        tlvToString(value.value.additionalConsumerDataRequest);
    String merchantTaxId = tlvToString(value.value.merchantTaxId);
    String merchantChannel = tlvToString(value.value.merchantChannel);

    String rfuForEMVCo = "";
    value.value.rfuForEMVCo?.forEach((element) {
      rfuForEMVCo += tlvToString(element);
    });

    String paymentSystemSpecific = "";
    value.value.paymentSystemSpecific?.forEach((element) {
      paymentSystemSpecific += tlvToString(element);
    });
    String length = getValueLength(billNumber +
        mobileNumber +
        storeLabel +
        loyaltyNumber +
        referenceLabel +
        customerLabel +
        terminalLabel +
        purposeTransaction +
        additionalConsumerDataRequest +
        merchantTaxId +
        merchantChannel +
        rfuForEMVCo +
        paymentSystemSpecific);

    AdditionalDataFieldTemplateModel additionalDataFieldTemplate =
        AdditionalDataFieldTemplateModel(
            tag: ID.additionalDataFieldTemplate,
            length: length,
            value: value.value);
    this.value = this
        .value
        .copyWith(additionalDataFieldTemplate: additionalDataFieldTemplate);
  }
}