private async void OnCaptureClick(object sender, RoutedEventArgs e) { IsButtonsEnabled(false); PidData captureData = await ApiService.CaptureRetina(); if (captureData != null && captureData.Data != null) { String content = "Iris Data Captured \n\n"; content += "=========================================\n\n"; content += $"Score: {captureData.Resp.QScore}\n"; content += "-- Data-- \n"; content += captureData.Data; InfoBox.Text = content; if (MessageBox.Show("Iris Captured") == MessageBoxResult.OK) { IsButtonsEnabled(true); } } else { String content = "Iris Data Capturing Failed \n\n"; content += "=========================================\n\n"; content += $"Score: 0\n"; content += "-- Data-- \n"; content += "----------------------------"; InfoBox.Text = content; if (MessageBox.Show("Iris Capturing Failed") == MessageBoxResult.OK) { IsButtonsEnabled(true); } } }
public string Generate2(string institutionUrl, string recordType, string accessionNumber) { try { var pidData = new PidData { InstitutionUrl = institutionUrl, RecordType = recordType, AccessionNumber = accessionNumber }; var ser = new DataContractJsonSerializer(typeof(PidData)); var ms = new MemoryStream(); ser.WriteObject(ms, pidData); ms.Position = 0; var sr = new StreamReader(ms); Trace.WriteLine(DateTime.Now + "-> START Generate2 pidData = " + sr.ReadToEnd()); Trace.WriteLine(DateTime.Now + "-> RETURN pid = " + pidData.Pid); Trace.WriteLine(DateTime.Now + "-> END Generate2"); return(pidData.Pid); } catch (Exception err) { Trace.WriteLine(DateTime.Now + "-> ERROR: " + err.Message); Trace.WriteLine(DateTime.Now + "-> END Generate2"); return(null); } }
public PidData Lookup(string pid) { try { Trace.WriteLine(DateTime.Now + "-> START Lookup pid=" + pid); if (string.IsNullOrEmpty(pid)) { return(null); } var parts = pid.Split('_'); PidData pData = null; if (parts.Count() > 2) { pData = new PidData { InstitutionUrl = parts[0], RecordType = parts[1], AccessionNumber = parts[2] }; } Trace.WriteLine(DateTime.Now + "-> END Lookup"); return(pData); } catch (Exception err) { Trace.WriteLine(DateTime.Now + "-> ERROR: " + err.Message); Trace.WriteLine(DateTime.Now + "-> END Lookup"); return(null); } }
public string Generate(PidData pd) { try { var ser = new DataContractJsonSerializer(typeof(PidData)); var ms = new MemoryStream(); ser.WriteObject(ms, pd); ms.Position = 0; var sr = new StreamReader(ms); Trace.WriteLine(DateTime.Now + "-> START Generate pidData = " + sr.ReadToEnd()); Trace.WriteLine(DateTime.Now + "-> RETURN pid = " + pd.Pid); Trace.WriteLine(DateTime.Now + "-> END Generate"); return(pd.Pid); } catch (Exception err) { Trace.WriteLine(DateTime.Now + "-> ERROR: " + err.Message); Trace.WriteLine(DateTime.Now + "-> END Generate"); return(null); } }
public static async Task <PidData> CaptureRetina() { var client = new RestClient { BaseUrl = new Uri(scannerUrl), }; var request = new RestRequest { Method = Method.POST, Resource = "capture", UseDefaultCredentials = true }; // Attach Request Body String body = "<PidOptions ver=\"1.0\"><Opts fCount=\"\" fType=\"\" iCount=\"1\" iType=\"0\" pCount=\"\" pType=\"\""; body += " format=\"0\" pidVer=\"2.0\" timeout=\"20000\" otp=\"\" wadh=\"\" posh=\"UNKNOWN\" env=\"S\"/>"; body += "<CustOpts><Param name=\"enable_preview\" value=\"yes\" /></CustOpts></PidOptions>"; request.AddParameter("text/xml", body, ParameterType.RequestBody); PidData captureData = null; try { IRestResponse <PidData> response = await client.ExecuteTaskAsync <PidData>(request); captureData = response.Data; } catch (Exception ex) { logger.Error(ex); return(null); } return(captureData); }
public IActionResult CaptureAadharPay(AEPSInput input) { try { var sessionUtility = new SessionUtility(); var pidData = new PidData(); XmlSerializer serializer = new XmlSerializer(typeof(PidData)); using (TextReader reader = new StringReader(input.PidData)) { pidData = (PidData)serializer.Deserialize(reader); } var captureReq = new IciciCaptureInternalResponse { ci = pidData.Skey.Ci, dc = pidData.DeviceInfo.Dc, dpID = pidData.DeviceInfo.DpId, errCode = pidData.Resp.ErrCode, errInfo = pidData.Resp.ErrInfo, fCount = pidData.Resp.FCount, fType = pidData.Resp.FType, hmac = pidData.Hmac, iCount = "0", iType = "0", mc = pidData.DeviceInfo.Mc, mi = pidData.DeviceInfo.Mi, nmPoints = pidData.Resp.NmPoints, pCount = "0", Piddata = pidData.Data.Text, PidDatatype = pidData.Data.Type, pType = "0", qScore = pidData.Resp.QScore, rdsID = pidData.DeviceInfo.RdsId, rdsVer = pidData.DeviceInfo.RdsVer, sessionKey = pidData.Skey.Text, }; var allReqInput = new DetailsAepReq { accessModeType = "", adhaarNumber = input.AadharNumber, agentId = Convert.ToString(sessionUtility.GetStringSession("AEPSAgentID")), customerId = sessionUtility.GetLoginSession().customerId, customerNumber = input.CustomerNumber, deviceSerialNumber = pidData.DeviceInfo.Mi, deviceTransactionId = "", iciciAepsCaptureRes = captureReq, indicatorforUID = 0, ipAddress = "176.9.24.146", latitude = "26.125321647834", longitude = "78.09278884562441", merchantTransactionId = GetOrderID(), nbin = input.BankName, paymentType = "B", requestRemarks = "Aadhar Pay", serviceChannelId = 2, transactionAmount = Convert.ToInt32(input.Amount), transactionType = "MS", virtualId = string.Empty }; string errorMessage = string.Empty; var response = new CallService().PostResponse <AEPSResponse>("puticiciAepsMiniStatement", allReqInput, ref errorMessage); if (string.IsNullOrEmpty(errorMessage)) { var response1 = new resAEPSTransaction(); response1.AadhaarNumber = input.AadharNumber; response1.Amount = Convert.ToDecimal(input.Amount); response1.ClientTransactionId = allReqInput.merchantTransactionId; response1.AEPSModeType = "Aadhar Pay"; response1.MobileNumber = input.CustomerNumber; return(PartialView("AckView", response1)); } else { var response1 = new resAEPSTransaction(); response1.AadhaarNumber = input.AadharNumber; response1.Amount = Convert.ToDecimal(input.Amount); response1.ClientTransactionId = allReqInput.merchantTransactionId; response1.AEPSModeType = "Mini Statement Web"; response1.MobileNumber = input.CustomerNumber; return(PartialView("AckView", response1)); } } catch (Exception) { } return(PartialView("AckView")); }
public IActionResult CaptureBalanceEnquiry(AEPSInput input) { try { input.AadharNumber = input.AadharNumber.Replace("-", "").ToString(); var sessionUtility = new SessionUtility(); var pidData = new PidData(); XmlSerializer serializer = new XmlSerializer(typeof(PidData)); using (TextReader reader = new StringReader(input.PidData)) { pidData = (PidData)serializer.Deserialize(reader); } if (pidData.Resp.ErrCode != "0") { return(Json(new { success = false, errorMessage = pidData.Resp.ErrInfo })); } var captureReq = new IciciCaptureInternalResponse { ci = pidData.Skey.Ci, dc = pidData.DeviceInfo.Dc, dpID = pidData.DeviceInfo.DpId, errCode = pidData.Resp.ErrCode, errInfo = pidData.Resp.ErrInfo, fCount = pidData.Resp.FCount, fType = pidData.Resp.FType, hmac = pidData.Hmac, iCount = "0", iType = "0", mc = pidData.DeviceInfo.Mc, mi = pidData.DeviceInfo.Mi, nmPoints = pidData.Resp.NmPoints, pCount = "0", Piddata = pidData.Data.Text, PidDatatype = pidData.Data.Type, pType = "0", qScore = pidData.Resp.QScore, rdsID = pidData.DeviceInfo.RdsId, rdsVer = pidData.DeviceInfo.RdsVer, sessionKey = pidData.Skey.Text, }; var allReqInput = new DetailsAepReq { accessModeType = "", adhaarNumber = input.AadharNumber, agentId = Convert.ToString(sessionUtility.GetStringSession("AEPSAgentID")), customerId = sessionUtility.GetLoginSession().customerId, customerNumber = input.CustomerNumber, deviceSerialNumber = pidData.DeviceInfo.Mi, deviceTransactionId = "", iciciAepsCaptureRes = captureReq, indicatorforUID = 0, ipAddress = "176.9.24.146", latitude = "26.125321647834", longitude = "78.09278884562441", merchantTransactionId = GetOrderID(), nbin = input.BankName, paymentType = "B", requestRemarks = "Balance Enquiry Web", serviceChannelId = 2, transactionAmount = 0, transactionType = "BE", virtualId = string.Empty }; var sting = JsonConvert.SerializeObject(allReqInput); string errorMessage = string.Empty; var response = new CallService().PostResponse <AEPSResponse>("puticiciAepsBalanceEnq", allReqInput, ref errorMessage); if (string.IsNullOrEmpty(errorMessage)) { var response1 = new resAEPSTransaction(); response1.AadhaarNumber = "XXXXXXXXX" + input.AadharNumber.Substring(input.AadharNumber.ToString().Length - 4, 4);; response1.Amount = Convert.ToDecimal(input.Amount); response1.ClientTransactionId = allReqInput.merchantTransactionId; response1.TransactionReference = response.data.fpTransactionId; response1.AEPSModeType = "Balance Enquiry"; response1.MobileNumber = input.CustomerNumber; response1.BalanceAmount = Convert.ToDecimal(response.data.balanceAmount); response1.Status = 1; response1.BankReferenceNumber = input.BankName; response1.BankResponseMessage = response.data.transactionStatus; response1.ResponseMessage = "Successfully retrived"; return(PartialView("AckView", response1)); } else { var response1 = new resAEPSTransaction(); response1.AadhaarNumber = input.AadharNumber; response1.Amount = Convert.ToDecimal(input.Amount); response1.ClientTransactionId = allReqInput.merchantTransactionId; response1.AEPSModeType = "Balance Enquiry"; response1.MobileNumber = input.CustomerNumber; response1.BalanceAmount = 0; response1.Status = 0; response1.ResponseMessage = errorMessage; return(PartialView("AckView", response1)); } } catch (Exception ex) { Console.WriteLine(ex.Message); } return(PartialView("AckView")); }
public void Tick() { TryUpdatePIDToPorts(); var startDataAtThisTime = DateTime.Now - timespanToKeepNetworkSamples; foreach (var kvp in pidRequestToLastTime) { var pid = kvp.Key; var time = kvp.Value; PidData data; pidToData.TryGetValue(pid, out data); if (time + timespanToClosePIDPortsWithNoRequests > DateTime.Now) { // to watch ushort[] ports = null; List <ushort> portsList; if (pidToPorts.TryGetValue(pid, out portsList)) { ports = portsList.ToArray(); } if (data == null) { var process = TimeCachedGetProcessByPid.Singleton.GetProcessForPid(pid); if (process != null) // be sure the process is running { Console.WriteLine("Creating ports listener for pid:" + pid); var statistics = GetCapturePortsStatistics(); statistics.CaptureThesePorts(ports); data = new PidData() { lastBytesSentPerSecond = 0, statistics = statistics }; pidToData[pid] = data; } } else { data.statistics.ClampData(startDataAtThisTime); data.lastBytesSentPerSecond = (long)Math.Round(data.statistics.GetAverageOfReceviedBytes() / timespanToKeepNetworkSamples.TotalSeconds); data.statistics.CaptureThesePorts(ports); } } else { // to not watch if (data != null) { Console.WriteLine("Destroying ports listener for pid:" + pid); StopCapturePortsStatistics(data.statistics); pidToData.TryRemove(pid, out data); } } } }