getMessage static method

String getMessage(
  1. String key, {
  2. String? messageDefault,
})

Implementation

static String getMessage(
  String key, {
  String? messageDefault,
}) {
  key = key.trim().toUpperCase();

  if (Common.prefixMessageKey.isNotEmpty) {
    String prefix = Common.prefixMessageKey.trim().toUpperCase();
    key = '${prefix}_$key';
  }

  if (Common.supperAdmin) {
    _saveMessageLog(key, Common.mapMessageData[key]);
  }

  if (Common.mapMessageData.isEmpty) {
    Common.setupDefaultData();
  }

  if (!Common.canGetMessage) return key;
  if (key.isEmpty) return key;
  if (Common.showKeyMessage) return key;

  if (Common.mapMessageData.containsKey(key)) {
    String tmpMessage =
        Common.mapMessageData[key] ?? messageDefault ?? key.toUpperCase();
    if (tmpMessage != key) {
      return tmpMessage;
    }
  } else {
    // not exists -> auto create SQL
    if (kDebugMode && Common.autoCreateMessage) {
      SQLService.execute('sp_SyncMessage', params: {
        'message': key,
        'messageId': key,
        'languageId': 1,
      });
    }
  }

  if (kDebugMode && messageDefault != null && messageDefault.isNotEmpty) {
    messageDefault = '*$messageDefault';
  }
  Common.mapMessageData[key] = messageDefault ?? key;
  return messageDefault ?? key;
}