textToDrivingLicence method
dynamic
textToDrivingLicence(
- String text, {
- required String? inputName,
- required String? inputSurName,
- required String? inputAddress,
- required String? inputHeight,
- required String? inputBloodGroup,
- required String? inputPassportNumber,
- required String? inputLicenceNumber,
- required String? inputExpiryDate,
- required String? inputIssueDate,
- required String? inputBirthDate,
- required String? inputCountry,
Implementation
textToDrivingLicence(
String text, {
required String? inputName,
required String? inputSurName,
required String? inputAddress,
required String? inputHeight,
required String? inputBloodGroup,
required String? inputPassportNumber,
required String? inputLicenceNumber,
required String? inputExpiryDate,
required String? inputIssueDate,
required String? inputBirthDate,
required String? inputCountry,
}) {
print(text);
String namePrefix = 'Name ';
String surNamePrefix = 's/o w/o d/o';
// String identityNumberPrefix = 'Identity Number ';
String? name = getValueFromPrefix(text, namePrefix, split: ' @@ ')?.trim();
String? surName =
getValueFromPrefix(text, surNamePrefix, split: ' @@ ')?.trim();
String? country = getCountry(text);
String? licenceNumber = getLicenceNumber(text);
String? address = getAddress(text);
String? height = getHeight(text);
String? bloodGroup = getBloodGroup(text);
String? passportNumber = getPasportNumber(text);
RegExp dateOfBirthRegex = RegExp(r"Date of Birth : (\d{2}-\d{2}-\d{4})");
RegExp issueDateRegex = RegExp(r"Issue Date : (\d{2}-\d{2}-\d{4})");
RegExp expiryDateRegex = RegExp(r"Expiry Date @@ :(\d{2}-\d{2}-\d{4})");
String? dateOfBirth = dateOfBirthRegex.firstMatch(text)?.group(1);
String? dateOfIssue = issueDateRegex.firstMatch(text)?.group(1);
String? dateOfExpiry = expiryDateRegex.firstMatch(text)?.group(1);
print('************');
if (dateOfIssue != null && dateOfExpiry != null && dateOfBirth != null) {
List<String> sortedDates =
sortDates([dateOfBirth, dateOfExpiry, dateOfIssue]);
dateOfBirth = sortedDates[0];
dateOfIssue = sortedDates[1];
dateOfExpiry = sortedDates[2];
}
Map<String, String?> drivingLicenceData = {
'name': name ?? inputName,
'sur_name': surName ?? inputSurName,
'licence_number': licenceNumber ?? inputLicenceNumber,
'date_of_expiry': dateOfExpiry ?? inputExpiryDate,
'date_of_issue': dateOfIssue ?? inputIssueDate,
'date_of_birth': dateOfBirth ?? inputBirthDate,
'country': country ?? inputCountry,
'passport_number': passportNumber ?? inputPassportNumber,
'blood_group': bloodGroup ?? inputBloodGroup,
'height': height ?? inputHeight,
'address': address ?? inputAddress
};
print(drivingLicenceData);
return drivingLicenceData;
}