Beispiel #1
0
        public void OnRegisterWithLicenceResult(int result, string errorMessage)
        {
            LicenseResultType licenseResult = LicenseResultType.Unknown;

            switch (result)
            {
            case 0:
                licenseResult = LicenseResultType.Successful;
                break;

            case -1:
                licenseResult = LicenseResultType.Error_While_Parsing;
                break;

            case -2:
                licenseResult = LicenseResultType.Invalid_Licence;
                break;

            case -3:
                licenseResult = LicenseResultType.Invalid_Bundle_ID;
                break;

            case -4:
                licenseResult = LicenseResultType.Invalid_Device_Model;
                break;

            case -5:
                licenseResult = LicenseResultType.Licence_Expired;
                break;

            case -6:
                licenseResult = LicenseResultType.Invalid_Platform;
                break;
            }

            elementScanner.OnLicenseResult(licenseResult);
        }
 private void scannerControl_LicenseResult(object sender, LicenseResultType result)
 {
     Debug.WriteLine("License result: " + result.ToString());
 }
        protected override void OnElementChanged(ElementChangedEventArgs <View> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null || Element == null)
            {
                return;
            }

            mrzSannerController = new MRZScannerController();

            // Options: [ScannerTypeMrz, ScannerTypeDocImageId, ScannerTypeDocImagePassport]. Default: MRZ.
            switch (((ScannerControl)Element).ScannerType)
            {
            case ScanType.Mrz:
                mrzSannerController.SetScannerType(MRZScannerType.Mrz);
                break;

            case ScanType.DocImageId:
                mrzSannerController.SetScannerType(MRZScannerType.DocumentImageId);
                break;

            case ScanType.DocImagePassport:
                mrzSannerController.SetScannerType(MRZScannerType.DocumentImagePassport);
                break;

            default:
                mrzSannerController.SetScannerType(MRZScannerType.Mrz);
                break;
            }
            // Enable/disable the ID document type. Default: true.
            MRZScannerController.SetIDActive(((ScannerControl)Element).IDActive);
            // Enable/disable the Passport document type. Default: true.
            MRZScannerController.SetPassportActive(((ScannerControl)Element).PassportActive);
            // Enable/disable the Visa document type. Default: true.
            MRZScannerController.SetVisaActive(((ScannerControl)Element).VisaActive);
            // Set the max CPU threads that the scanner can use. Default: 2.
            mrzSannerController.SetMaxCPUCores(((ScannerControl)Element).MaxThreads);
            MRZScannerController.SetExtractFullPassportImageEnabled(((ScannerControl)Element).ExtractFullPassportImageEnabled);
            MRZScannerController.SetExtractIdBackEnabled(((ScannerControl)Element).ExtractIdBackImageEnabled);
            MRZScannerController.SetExtractPortraitEnabled(((ScannerControl)Element).ExtractPortraitEnabled);
            MRZScannerController.SetExtractSignatureEnabled(((ScannerControl)Element).ExtractSignatureEnabled);
            // Set license key
            MRZScannerController.RegisterLicenseWithKey(((ScannerControl)Element).LicenseKey, (result, error) =>
            {
                LicenseResultType licenseResult = LicenseResultType.Unknown;

                switch (result)
                {
                case 0:
                    licenseResult = LicenseResultType.Successful;
                    break;

                case -1:
                    licenseResult = LicenseResultType.Error_While_Parsing;
                    break;

                case -2:
                    licenseResult = LicenseResultType.Invalid_Licence;
                    break;

                case -3:
                    licenseResult = LicenseResultType.Invalid_Bundle_ID;
                    break;

                case -4:
                    licenseResult = LicenseResultType.Invalid_Device_Model;
                    break;

                case -5:
                    licenseResult = LicenseResultType.Licence_Expired;
                    break;

                case -6:
                    licenseResult = LicenseResultType.Invalid_Platform;
                    break;
                }

                ((ScannerControl)Element).OnLicenseResult(licenseResult);
            });

            mrzSannerController.WeakDelegate = this;

            UIViewController currentViewController = UIApplication.SharedApplication.KeyWindow.RootViewController.NavigationController != null ? UIApplication.SharedApplication.KeyWindow.RootViewController.NavigationController : UIApplication.SharedApplication.KeyWindow.RootViewController;

            currentViewController.AddChildViewController(mrzSannerController);
            mrzSannerController.InitUI(currentViewController);

            if (Control == null)
            {
                SetNativeControl(mrzSannerController.View);
            }

            ((ScannerControl)Element).OnResumeScanning += ScannerControlRenderer_OnResumeScanning;
        }
Beispiel #4
0
 public void OnLicenseResult(LicenseResultType result)
 {
     LicenseResult?.Invoke(this, result);
 }