TransactionResult.fromMap constructor

TransactionResult.fromMap(
  1. Map map
)

Implementation

factory TransactionResult.fromMap(Map<dynamic, dynamic> map) {
  TransactionType transactionType = TransactionType.SALE;
  if (map['transactionType'] != null) {
    try {
      transactionType = TransactionType.values.firstWhere(
        (e) => e.name == map['transactionType'],
        orElse: () => TransactionType.SALE,
      );
    } catch (e) {
      // Use default
    }
  }

  TransactionError? error;
  if (map['error'] != null) {
    error = TransactionError.fromMap(Map<String, dynamic>.from(map['error']));
  }

  TransactionError? reversalError;
  if (map['reversalError'] != null) {
    reversalError = TransactionError.fromMap(Map<String, dynamic>.from(map['reversalError']));
  }

  TransactionError? updateTransactionError;
  if (map['updateTransactionError'] != null) {
    updateTransactionError = TransactionError.fromMap(Map<String, dynamic>.from(map['updateTransactionError']));
  }

  int? accountBalance;
  if (map['accountBalance'] != null) {
    accountBalance = (map['accountBalance'] as num).toInt();
  }
  int? balanceDue;
  if (map['balanceDue'] != null) {
    balanceDue = (map['balanceDue'] as num).toInt();
  }

  return TransactionResult(
    identifier: map['identifier'] ?? '',
    transactionType: transactionType,
    approved: map['approved'] ?? false,
    error: error,
    signatureSent: map['signatureSent'] ?? false,
    reversalError: reversalError,
    updateTransactionError: updateTransactionError,
    accountBalance: accountBalance,
    accountBalanceCurrency: map['accountBalanceCurrency'] as String?,
    balanceDue: balanceDue,
    balanceDueCurrency: map['balanceDueCurrency'] as String?,
  );
}