private void OnIrisCaptureCompleted(NBiometricTask task)
        {
            EnableIrisControls(false);
            NBiometricStatus status = task.Status;

            lblStatus.Text = status.ToString();

            // Check if extraction was canceled
            if (status == NBiometricStatus.Canceled)
            {
                return;
            }
            if (status != NBiometricStatus.Ok)
            {
                MessageBox.Show(string.Format("No fue posible extrar el template: {0}.", status), Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
                lblQuality.Text = string.Empty;
                _subject        = null;
                _iris           = null;
                EnableIrisControls(false);
            }
            else
            {
                lblQuality.Text = string.Format("Calidad: {0}", _iris.Objects[0].Quality);
            }
        }
        private async System.Threading.Tasks.Task OnCapturingFaceCompletedAsync(NBiometricStatus status)
        {
            try
            {
                // If Stop button was pushed
                if (status == NBiometricStatus.Canceled)
                {
                    return;
                }

                lblStatus.Text = status.ToString();
                if (status != NBiometricStatus.Ok)
                {
                    // Since capture failed start capturing again
                    _subjectFace.Faces[0].Image = null;
                    status = await _biometricClient.CaptureAsync(_subjectFace);
                    await OnCapturingFaceCompletedAsync(status);
                }
                else
                {
                    EnableFaceControls(false);
                }
            }
            catch (Exception ex)
            {
                //Utils.ShowException(ex);
                lblStatus.Text = string.Empty;
                //lblQuality.Text = string.Empty;
                EnableFaceControls(false);
            }
        }