Exemple #1
0
        private void WriteLog(SimpleIDResponse response)
        {
            var returnCode   = response.TransactionInformation.ReturnCode;
            var responseType = response.TransactionInformation.ResponseType;

            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("{0}: ", responseType.ToString());
            if (responseType == ResponseType.PROCESSING_STATUS)
            {
                sb.AppendFormat("{0} ", response.TransactionInformation.ProcessingStatus.ToString());
            }
            else
            {
                sb.AppendFormat("{0} ", returnCode.ToString());
            }
            if (returnCode == ReturnCode.HIT_CONFIRMED || returnCode == ReturnCode.ALREADY_ENROLLED)
            {
                sb.AppendFormat(" - {0}", response.TransactionInformation.Persons.First().PersonID);
            }

            lbLog.Invoke(new Action(() =>
            {
                if (lbLog.Items.Count > 10)
                {
                    lbLog.Items.RemoveAt(0);
                }
                lbLog.Items.Add(sb.ToString());
                lbLog.SelectedIndex = lbLog.Items.Count - 1;
                lbLog.ClearSelected();
            }));
        }
Exemple #2
0
        private void ProcessSimpleIDResponse(SimpleIDResponse response)
        {
            WriteLog(response);
            var returnCode   = response.TransactionInformation.ReturnCode;
            var responseType = response.TransactionInformation.ResponseType;

            if (responseType == ResponseType.FINGER_CAPTURE_STATUS)
            {
                var base64Image = response.TransactionInformation.Persons.First().FingerprintImage.Base64Image;
                using (var ms = new MemoryStream(Convert.FromBase64String(base64Image)))
                {
                    Image image = Image.FromStream(ms);
                    if (_currentOperation == OperationType.SEARCH)
                    {
                        pbSearchFingerprint.Image = image;
                    }
                    else if (_currentOperation == OperationType.REGISTER)
                    {
                        pbRegisterFingerprint.Image = image;
                        if (response.TransactionInformation.Persons.First().FingerprintImage.Finished)
                        {
                            btSubmitRegister.Invoke(new Action(() => btSubmitRegister.Enabled = true));
                        }
                    }
                }
            }

            if (responseType == ResponseType.PROCESSING_STATUS)
            {
                if (response.TransactionInformation.ProcessingStatus == ProcessingStatus.REGISTRATION_READY)
                {
                    gbFingers.Invoke(new Action(() => gbFingers.Enabled = true));
                    btCancelRegister.Invoke(new Action(() => btCancelRegister.Enabled = true));
                }
            }
        }