getLineFromBarcode method
Implementation
String? getLineFromBarcode(String barcode) {
String linha = barcode.replaceAll(RegExp("[^0-9]"), "");
if (linha.length != 44) {
return null;
}
String campo1 = linha.substring(0, 4) +
linha.substring(19, 20) +
'.' +
linha.substring(20, 24);
String campo2 = linha.substring(24, 29) + '.' + linha.substring(29, 34);
String campo3 = linha.substring(34, 39) + '.' + linha.substring(39, 44);
String campo4 = linha.substring(4, 5); // Digito verificador
String campo5 = linha.substring(5, 19); // Vencimento + Valor
if (_modulo11Banco(linha.substring(0, 4) + linha.substring(5, 44)) !=
int.parse(campo4)) {
return null; //'Digito verificador '+campo4+', o correto é '+modulo11_banco( linha.substr(0,4)+linha.substr(5,99) )+'\nO sistema não altera automaticamente o dígito correto na quinta casa!'
}
return campo1 +
_modulo10(campo1).toString() +
' ' +
campo2 +
_modulo10(campo2).toString() +
' ' +
campo3 +
_modulo10(campo3).toString() +
' ' +
campo4 +
' ' +
campo5;
}