getQrString method
Generates a QR code string from the given ZatcaQr data model.
qrDataModel - The data model containing the QR code information.
Returns the QR code string.
Implementation
String getQrString(ZatcaQr qrDataModel) {
Map<int, dynamic> invoiceData = {
1: qrDataModel.sellerName,
2: qrDataModel.sellerTRN,
3: qrDataModel.issueDateTime,
4: qrDataModel.invoiceData.totalAmount.toStringAsFixed(2),
5: qrDataModel.invoiceData.taxAmount.toStringAsFixed(2),
6: qrDataModel.invoiceHash,
7: utf8.encode(qrDataModel.digitalSignature),
8: base64.decode(qrDataModel.publicKey),
9: base64.decode(qrDataModel.certificateSignature),
};
String tlvString = generateTlv(invoiceData);
final qrContent = utf8.encode(tlvToBase64(tlvString));
return String.fromCharCodes(qrContent);
}