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(); })); }
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)); } } }