process method

bool process(
  1. String text,
  2. XFile file,
  3. BuildContext context,
  4. dynamic png,
  5. String cardType,
)

Implementation

bool process(String text, XFile file, BuildContext context, final png,
    String cardType) {
  retry++;
  Map<String, String?> passportData = passportModel.textToPassport(text,
      inputGivenName: givenName,
      inputSurName: surName,
      inputCitizenShipNumber: citizenShipNumber,
      inputFatherName: fatherName,
      inputAddress: address,
      inputPassportNumber: passportNumber,
      inputExpiryDate: expiryDate,
      inputIssueDate: issueDate,
      inputBirthDate: birthDate,
      inputGender: gender,
      inputCountry: country,
      inputTrackingNumber: trackingNumber);

  givenName = passportData['given_name'] ?? givenName;
  surName = passportData['surname'] ?? surName;
  citizenShipNumber = passportData['citizenship_number'] ?? citizenShipNumber;
  address = passportData['address'] ?? address;
  fatherName = passportData['father_name'] ?? fatherName;
  passportNumber = passportData['passport_number'] ?? passportNumber;
  expiryDate = passportData['date_of_expiry'] ?? expiryDate;
  issueDate = passportData['date_of_issue'] ?? issueDate;
  birthDate = passportData['date_of_birth'] ?? birthDate;
  gender = passportData['gender'] ?? gender;
  country = passportData['country'] ?? country;
  trackingNumber = passportData['tracking_number'] ?? trackingNumber;

  // if (passportData.values.any((element) => element == null) && retry > 4) {
  //   return false;
  // } else {
  //   final contours = dylib.lookupFunction<Void Function(Pointer<Utf8>),
  //       void Function(Pointer<Utf8>)>('Contours');
  //   try {
  //     contours(file.path.toNativeUtf8());
  //     Navigator.pushReplacement(context, MaterialPageRoute(builder: (_) {
  //       return PassportProfile(
  //           image: png,
  //           cardImage: file,
  //           idCardData: passportData,
  //           cardType: cardType);
  //     }));
  //   } catch (e) {
  //     print('-------------------------exception');
  //     Navigator.pushReplacement(context, MaterialPageRoute(builder: (_) {
  //       return PassportProfile(
  //           image: png,
  //           cardImage: file,
  //           idCardData: passportData,
  //           cardType: cardType);
  //     }));
  //   }
  // }
  return true;
}