protected void btnBioCapture_Click(object sender, EventArgs e)
        {
            try
            {
                ResetAll();
                lblMessage.Text = "Start biometric capture...";

                CloudScanrModels.CloudScanrCapture cloudScanrparam = new CloudScanrModels.CloudScanrCapture();
                cloudScanrparam.CustomerKey          = SessionManager.CloudScanrAuthenticate.CustomerKey;
                cloudScanrparam.AccessPointID        = GetAccessPointID();                  //SessionManager.CloudScanrAuthenticate.AccessPointID;
                cloudScanrparam.CaptureTimeOut       = AppSettingsReader.Capture_TimeOut(); //120.0;
                cloudScanrparam.CaptureMode          = (EnumCaptureMode)Enum.Parse(typeof(EnumCaptureMode), captureMode.SelectedItem.Value.ToString());
                cloudScanrparam.TemplateFormat       = (TemplateFormat)Enum.Parse(typeof(TemplateFormat), templateFormat.SelectedItem.Value.ToString());
                cloudScanrparam.BioMetricImageFormat = (EnumBiometricImageFormat)Enum.Parse(typeof(EnumBiometricImageFormat), bioImageFormat.SelectedItem.Value.ToString());
                cloudScanrparam.CaptureType          = (EnumCaptureType)Enum.Parse(typeof(EnumCaptureType), captureType.SelectedItem.Value.ToString());
                cloudScanrparam.SingleCaptureMode    = (SingleCaptureMode)Enum.Parse(typeof(SingleCaptureMode), singleCaptureMode.SelectedItem.Value.ToString());
                cloudScanrparam.FaceImage            = (EnumFeatureMode)Enum.Parse(typeof(EnumFeatureMode), faceImage.SelectedItem.Value.ToString());
                cloudScanrparam.QuickScan            = (EnumFeatureMode)Enum.Parse(typeof(EnumFeatureMode), quickScan.SelectedItem.Value.ToString());

                FingerPrintCapture(cloudScanrparam);
            }
            catch (Exception ex)
            {
                lblMessage.Text = "From button click:: " + ex.Message;
            }
        }
 internal CloudScanrModels.CloudScanrCaptureResult Capture(CloudScanrModels.CloudScanrCapture cloudScanrCapture, string accessToken)
 {
     try
     {
         return(Task.Run(() => this.SendCapturePostRequest("api/CloudScanr/Capture", cloudScanrCapture, accessToken)).Result);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        private void FingerPrintCapture(CloudScanrModels.CloudScanrCapture cloudScanrparam)
        {
            try
            {
                CloudScanrApiManager.ApiHelper           apiHelper       = new CloudScanrApiManager.ApiHelper(AppSettingsReader.CloudScanr_API);
                CloudScanrModels.CloudScanrCaptureResult transactionInfo = new CloudScanrModels.CloudScanrCaptureResult();

                transactionInfo = apiHelper.Capture(cloudScanrparam, SessionManager.CloudScanrAPIToken);

                PraseResult(transactionInfo, cloudScanrparam);
            }
            catch (Exception ex)
            {
                lblMessage.Visible = true;
                lblMessage.Text    = "From API Calling:: " + ex.Message;
            }
        }
        private async Task <CloudScanrModels.CloudScanrCaptureResult> SendCapturePostRequest(string requestPath, CloudScanrModels.CloudScanrCapture dataToSend, string accessToken)
        {
            try
            {
                using (HttpClient client = new HttpClient())
                {
                    client.BaseAddress = new Uri(this._apiURL);
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + accessToken);
                    client.Timeout = new TimeSpan(0, 5, 0);
                    HttpResponseMessage response = await client.PostAsJsonAsync <CloudScanrModels.CloudScanrCapture>(requestPath, dataToSend);

                    var responseString = response.Content.ReadAsStringAsync().Result;
                    return(JsonConvert.DeserializeObject <CloudScanrModels.CloudScanrCaptureResult>(responseString));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void PraseResult(CloudScanrModels.CloudScanrCaptureResult cloudScanrCaptureResult, CloudScanrModels.CloudScanrCapture cloudScanrparam)
        {
            try
            {
                if (!cloudScanrCaptureResult.Success && !string.IsNullOrEmpty(cloudScanrCaptureResult.ResponseCode))
                {
                    lblMessage.Visible = true;
                    lblMessage.Text    = Utils.ParseCloudScanrAPIErrorMessage(cloudScanrCaptureResult.ResponseCode);
                }

                else if (!cloudScanrCaptureResult.Success && !string.IsNullOrEmpty(cloudScanrCaptureResult.Message))
                {
                    lblMessage.Visible = true;
                    lblMessage.Text    = cloudScanrCaptureResult.Message;
                }
                else
                {
                    if (!string.IsNullOrEmpty(cloudScanrCaptureResult.TemplateData))
                    {
                        lblMessage.Text     = "Capture completed";
                        lblTemplate.Visible = true;
                        templateXML.Visible = true;
                        templateXML.Text    = cloudScanrCaptureResult.TemplateData;
                    }
                    if (!string.IsNullOrEmpty(cloudScanrCaptureResult.BioImageData))
                    {
                        lblBioImage.Visible = true;
                        imageXML.Visible    = true;
                        imageXML.Text       = cloudScanrCaptureResult.BioImageData;
                    }
                    if (!string.IsNullOrEmpty(cloudScanrCaptureResult.FaceImageData))
                    {
                        lblFaceImageData.Visible = true;
                        txtFaceImageData.Visible = true;

                        imgFaceImage.Visible  = true;
                        imgFaceImage.ImageUrl = "data:image/jpeg;base64," + cloudScanrCaptureResult.FaceImageData;

                        txtFaceImageData.Text = cloudScanrCaptureResult.FaceImageData;
                    }
                }
            }
            catch (Exception ex)
            {
                lblMessage.Visible = true;
                lblMessage.Text    = ex.Message;
            }
        }