You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

737 lines
33 KiB

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Threading;
using System.Security.Cryptography;
using System.Windows.Threading;
using n5coredll;
using Newtonsoft.Json.Linq;
namespace ECR_N5_DLL_TestUI
{
public partial class MainWindow : Window
{
private string portName = "COM3";
private string baudRate = "9600";
private string dataBits = "8";
private string stopBits = "One";
private string parity = "None";
private string timeOut = "300000";
private string thisEvent;
public bool addLogFlag = true;
public string currEventName = null;
public string jsonResultByThead = null;
public string requestStrByThead = null;
public string showResultStr = null;
public string txnAmtTextBoxValue = null;
public string cashbackAmtTextBoxValue = null;
public string paymentAppIdComboBoxValue = null;
public string currencyComboBoxValue = null;
public string ecrRefNoTextBoxValue = null;
public string qrValueTextBoxValue = null;
public string ecrTxnIdTextBoxValue = null;
public string traceNoTextBoxValue = null;
public string retrievalTypeTextBoxValue = null;
public string panTextBoxValue = null;
public string authCodeTextBoxValue = null;
public string batchIdTextBoxValue = null;
public string settleDateTextBoxValue = null;
public string expDateTextBoxValue = null;
private n5coredll.N5Core n5Core = null;
private bool n5CoreInitSuccess = false;
private string txnIdForSale = null;
private string txnIdForRefund = null;
private string txnIdForPreAuth = null;
private string txnIdForOffline = null;
private string txnIdForAdjust = null;
private string saleRequestMsg = null;
private string preAuthRequestMsg = null;
private string offlineRequestMsg = null;
private string adjustRequestMsg = null;
private string refundRequestMsg = null;
private string retrievalRequestMsg = null;
private string voidRequestMsg = null;
private string settlementRequestMsg = null;
private string linkTestRequestMsg = null;
private string reprintRequestMsg = null;
private string terminaionRequestMsg = null;
private string scanRequestMsg = null;
private string readCardRequestMsg = null;
private string addPointRequestMsg = null;
private string batchEnquiryRequestMsg = null;
private string settleEnquiryRequestMsg = null;
private Boolean isRepeatSubmit = false;
public MainWindow()
{
InitializeComponent();
}
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
System.Diagnostics.Process.GetCurrentProcess().Kill();
}
private string timeout = "200000";
private void requestSaleThead()
{
if (panTextBoxValue!=null && panTextBoxValue!= "" && expDateTextBoxValue!=null && expDateTextBoxValue!="")
jsonResultByThead = n5Core.requestSaleWithTimeout(txnIdForSale, txnAmtTextBoxValue, "0", cashbackAmtTextBoxValue , ecrRefNoTextBoxValue, currencyComboBoxValue, paymentAppIdComboBoxValue, qrValueTextBoxValue, timeout);
else
jsonResultByThead = n5Core.requestSaleWithTimeout(txnIdForSale, txnAmtTextBoxValue, "0", cashbackAmtTextBoxValue, ecrRefNoTextBoxValue, currencyComboBoxValue, paymentAppIdComboBoxValue, qrValueTextBoxValue, timeout);
this.requestStrByThead = this.saleRequestMsg;
showResult();
}
private void requestAdjustThead()
{
//jsonResultByThead = n5Core.processOffline(txnIdForOffline, txnAmtTextBoxValue, paymentAppIdComboBoxValue, "123456", panTextBoxValue, expDateTextBoxValue);
// this.requestStrByThead = this.offlineRequestMsg;
// showResult();
}
private void requestRetrievalThead()
{
jsonResultByThead = n5Core.requestRetrieval(ecrTxnIdTextBoxValue, traceNoTextBoxValue , retrievalTypeTextBoxValue, 180000);
this.requestStrByThead = this.retrievalRequestMsg;
showResult();
}
private void requestSettlementThead()
{
jsonResultByThead = n5Core.sendSettlementtRequest();
this.requestStrByThead = this.settlementRequestMsg;
showSettleResult();
}
private void requestLinkRequestThead()
{
jsonResultByThead = n5Core.sendLinkTestRequest();
this.requestStrByThead = this.linkTestRequestMsg;
showResult();
}
private void requestReprintThead()
{
jsonResultByThead = n5Core.sendReprintRequest(ecrTxnIdTextBoxValue, traceNoTextBoxValue,true);
this.requestStrByThead = this.reprintRequestMsg;
showResult();
}
private void requestTerminaionThead()
{
jsonResultByThead = n5Core.sendAbortRequest();
this.requestStrByThead = this.terminaionRequestMsg;
showResult();
}
private void requestScanThread()
{
jsonResultByThead = n5Core.sendScanRequest();
this.requestStrByThead = this.scanRequestMsg;
showResult();
}
private void requestReadCardNFCThead()
{
jsonResultByThead = n5Core.sendReadCardNFCRequest();
this.requestStrByThead = this.readCardRequestMsg;
showResult();
}
private void requestAddPointThead()
{
jsonResultByThead = n5Core.sendAddPointRequest(ecrTxnIdTextBoxValue, txnAmtTextBoxValue);
this.requestStrByThead = this.addPointRequestMsg;
showResult();
}
private void requestBatchEnquiryThead()
{
jsonResultByThead = n5Core.sendBatchEnquiryRequest(settleDateTextBoxValue);
this.requestStrByThead = this.batchEnquiryRequestMsg;
showResult();
}
private void requestSettleEnquiryThead()
{
jsonResultByThead = n5Core.sendSettleEnquiryRequest(batchIdTextBoxValue);
this.requestStrByThead = this.settleEnquiryRequestMsg;
showResult();
}
public void showInput(string func)
{
settle_valuedate_combox.Visibility = Visibility.Hidden;
settle_valuedate_lbl.Visibility = Visibility.Hidden;
if (func.Equals("SALE"))
{
retrieval_lbl_isnTextBox.Visibility = Visibility.Hidden;
retrieval_traceNoTextBox.Visibility = Visibility.Hidden;
retrieval_lbl_paymentAppId.Visibility = Visibility.Hidden;
retrieval_paymentAppIdComboBox.Visibility = Visibility.Hidden;
print_lbl_isnTextBox.Visibility = Visibility.Hidden;
print_traceNoTextBox.Visibility = Visibility.Hidden;
print_lbl_paymentAppId.Visibility = Visibility.Hidden;
print_paymentAppIdComboBox.Visibility = Visibility.Hidden;
retrievalTypeComboBox.Visibility = Visibility.Hidden;
lbl_retrievalType.Visibility = Visibility.Hidden;
sale_lbl_txnAmtTextBox.Visibility = Visibility.Visible;
sale_txnAmtTextBox.Visibility = Visibility.Visible;
sale_lbl_paymentAppId.Visibility = Visibility.Visible;
sale_paymentAppIdComboBox.Visibility = Visibility.Visible;
sale_lbl_currency.Visibility = Visibility.Visible;
sale_currencyComboBox.Visibility = Visibility.Visible;
sale_lbl_cashbackAmtTextBox.Visibility = Visibility.Visible;
sale_cashbackAmtTextBox.Visibility = Visibility.Visible;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Visible;
sale_ecrRefNoTextBox.Visibility = Visibility.Visible;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Visible;
sale_ecrRefNoTextBox.Visibility = Visibility.Visible;
sale_lbl_txnId.Visibility = Visibility.Visible;
sale_ecrTxnIdTextBox.Visibility = Visibility.Visible;
}
else if (func.Equals("RETRIEVAL"))
{
sale_lbl_txnAmtTextBox.Visibility = Visibility.Hidden;
sale_txnAmtTextBox.Visibility = Visibility.Hidden;
sale_lbl_paymentAppId.Visibility = Visibility.Hidden;
sale_paymentAppIdComboBox.Visibility = Visibility.Hidden;
sale_lbl_currency.Visibility = Visibility.Hidden;
sale_currencyComboBox.Visibility = Visibility.Hidden;
sale_lbl_cashbackAmtTextBox.Visibility = Visibility.Hidden;
sale_cashbackAmtTextBox.Visibility = Visibility.Hidden;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_lbl_txnId.Visibility = Visibility.Hidden;
sale_ecrTxnIdTextBox.Visibility = Visibility.Hidden;
print_lbl_isnTextBox.Visibility = Visibility.Hidden;
print_traceNoTextBox.Visibility = Visibility.Hidden;
print_lbl_paymentAppId.Visibility = Visibility.Hidden;
print_paymentAppIdComboBox.Visibility = Visibility.Hidden;
settle_lbl_paymentAppId.Visibility = Visibility.Hidden;
settle_paymentAppIdComboBox.Visibility = Visibility.Hidden;
retrieval_lbl_isnTextBox.Visibility = Visibility.Visible;
retrieval_traceNoTextBox.Visibility = Visibility.Visible;
retrieval_lbl_paymentAppId.Visibility = Visibility.Visible;
retrieval_paymentAppIdComboBox.Visibility = Visibility.Visible;
retrievalTypeComboBox.Visibility = Visibility.Visible;
lbl_retrievalType.Visibility = Visibility.Visible;
}
else if (func.Equals("PRINT"))
{
sale_lbl_txnAmtTextBox.Visibility = Visibility.Hidden;
sale_txnAmtTextBox.Visibility = Visibility.Hidden;
sale_lbl_paymentAppId.Visibility = Visibility.Hidden;
sale_paymentAppIdComboBox.Visibility = Visibility.Hidden;
sale_lbl_currency.Visibility = Visibility.Hidden;
sale_currencyComboBox.Visibility = Visibility.Hidden;
sale_lbl_cashbackAmtTextBox.Visibility = Visibility.Hidden;
sale_cashbackAmtTextBox.Visibility = Visibility.Hidden;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_lbl_txnId.Visibility = Visibility.Hidden;
sale_ecrTxnIdTextBox.Visibility = Visibility.Hidden;
retrieval_lbl_isnTextBox.Visibility = Visibility.Hidden;
retrieval_traceNoTextBox.Visibility = Visibility.Hidden;
retrieval_lbl_paymentAppId.Visibility = Visibility.Hidden;
retrieval_paymentAppIdComboBox.Visibility = Visibility.Hidden;
settle_lbl_paymentAppId.Visibility = Visibility.Hidden;
settle_paymentAppIdComboBox.Visibility = Visibility.Hidden;
retrievalTypeComboBox.Visibility = Visibility.Hidden;
lbl_retrievalType.Visibility = Visibility.Hidden;
print_lbl_isnTextBox.Visibility = Visibility.Visible;
print_traceNoTextBox.Visibility = Visibility.Visible;
print_lbl_paymentAppId.Visibility = Visibility.Visible;
print_paymentAppIdComboBox.Visibility = Visibility.Visible;
}
else if (func.Equals("SETTLE"))
{
sale_lbl_txnAmtTextBox.Visibility = Visibility.Hidden;
sale_txnAmtTextBox.Visibility = Visibility.Hidden;
sale_lbl_paymentAppId.Visibility = Visibility.Hidden;
sale_paymentAppIdComboBox.Visibility = Visibility.Hidden;
sale_lbl_currency.Visibility = Visibility.Hidden;
sale_currencyComboBox.Visibility = Visibility.Hidden;
sale_lbl_cashbackAmtTextBox.Visibility = Visibility.Hidden;
sale_cashbackAmtTextBox.Visibility = Visibility.Hidden;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_lbl_txnId.Visibility = Visibility.Hidden;
sale_ecrTxnIdTextBox.Visibility = Visibility.Hidden;
retrieval_lbl_isnTextBox.Visibility = Visibility.Hidden;
retrieval_traceNoTextBox.Visibility = Visibility.Hidden;
retrieval_lbl_paymentAppId.Visibility = Visibility.Hidden;
retrieval_paymentAppIdComboBox.Visibility = Visibility.Hidden;
retrievalTypeComboBox.Visibility = Visibility.Hidden;
lbl_retrievalType.Visibility = Visibility.Hidden;
print_lbl_isnTextBox.Visibility = Visibility.Hidden;
print_traceNoTextBox.Visibility = Visibility.Hidden;
print_lbl_paymentAppId.Visibility = Visibility.Hidden;
print_paymentAppIdComboBox.Visibility = Visibility.Hidden;
settle_lbl_paymentAppId.Visibility = Visibility.Visible;
settle_paymentAppIdComboBox.Visibility = Visibility.Visible;
}
else
{
sale_lbl_txnAmtTextBox.Visibility = Visibility.Hidden;
sale_txnAmtTextBox.Visibility = Visibility.Hidden;
sale_lbl_paymentAppId.Visibility = Visibility.Hidden;
sale_paymentAppIdComboBox.Visibility = Visibility.Hidden;
sale_lbl_currency.Visibility = Visibility.Hidden;
sale_currencyComboBox.Visibility = Visibility.Hidden;
sale_lbl_cashbackAmtTextBox.Visibility = Visibility.Hidden;
sale_cashbackAmtTextBox.Visibility = Visibility.Hidden;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_lbl_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_ecrRefNoTextBox.Visibility = Visibility.Hidden;
sale_lbl_txnId.Visibility = Visibility.Hidden;
sale_ecrTxnIdTextBox.Visibility = Visibility.Hidden;
retrieval_lbl_isnTextBox.Visibility = Visibility.Hidden;
retrieval_traceNoTextBox.Visibility = Visibility.Hidden;
retrieval_lbl_paymentAppId.Visibility = Visibility.Hidden;
retrieval_paymentAppIdComboBox.Visibility = Visibility.Hidden;
retrievalTypeComboBox.Visibility = Visibility.Hidden;
lbl_retrievalType.Visibility = Visibility.Hidden;
print_lbl_isnTextBox.Visibility = Visibility.Hidden;
print_traceNoTextBox.Visibility = Visibility.Hidden;
print_lbl_paymentAppId.Visibility = Visibility.Hidden;
print_paymentAppIdComboBox.Visibility = Visibility.Hidden;
settle_lbl_paymentAppId.Visibility = Visibility.Hidden;
settle_paymentAppIdComboBox.Visibility = Visibility.Hidden;
}
}
public void sendSubmit()
{
addLogFlag = true;
addLog("====>> sendSubmit start, thisEvent = " + this.thisEvent);
currEventName = this.thisEvent;
if (currEventName == null || "".Equals(currEventName.Trim())) {
MessageBox.Show("Please select test function.", "Message");
return;
}
portName = this.portNameComboBox.Text;
if (n5Core == null || !n5CoreInitSuccess)
{
n5Core = n5coredll.N5Core.getInstance();
int initResult = n5Core.initN5Core(portName, baudRate, dataBits, stopBits, parity, timeOut);
if (initResult == 0)
{
n5CoreInitSuccess = true;
}
}
if (!n5CoreInitSuccess)
{
this.requestStrByThead = "n5coredll init fail.";
this.jsonResultByThead = string.Empty;
showResult();
return;
}
this.requestStrByThead = string.Empty;
this.jsonResultByThead = string.Empty;
int show = showResult();
if (show != 0)
{
return;
}
if ("SALE".Equals(this.thisEvent))
{
if (this.sale_txnAmtTextBox.Text == null || "".Equals(this.sale_txnAmtTextBox.Text.Trim()))
{
this.requestStrByThead = "Please input parameter.";
this.jsonResultByThead = "Please input parameter.";
showResult();
this.sale_txnAmtTextBox.Focus();
return;
}
else if (this.sale_paymentAppIdComboBox.Text == null || "".Equals(this.sale_paymentAppIdComboBox.Text.Trim()))
{
this.requestStrByThead = "Please input parameter.";
this.jsonResultByThead = "Please input parameter.";
showResult();
this.sale_paymentAppIdComboBox.Focus();
return;
}
else if (this.sale_ecrRefNoTextBox.Text != null && sale_ecrRefNoTextBox.Text.Length > 12)
{
this.requestStrByThead = "ECR Reference number is 1-12 letters or numbers.";
this.jsonResultByThead = "ECR Reference number is 1-12 letters or numbers.";
showResult();
this.sale_paymentAppIdComboBox.Focus();
return;
}
else
{
txnAmtTextBoxValue = this.sale_txnAmtTextBox.Text;
cashbackAmtTextBoxValue = this.sale_cashbackAmtTextBox.Text;
paymentAppIdComboBoxValue = this.sale_paymentAppIdComboBox.Text;
currencyComboBoxValue = this.sale_currencyComboBox.Text;
ecrRefNoTextBoxValue = this.sale_ecrRefNoTextBox.Text;
txnIdForSale = this.getTxnId();
if (ecrRefNoTextBoxValue == "" && cashbackAmtTextBoxValue != "")
this.requestStrByThead = " EVENT_NAME : " + currEventName + "\n TXN_ID = " + txnIdForSale + "\n TXN_AMT = " + txnAmtTextBoxValue + "\n CASHBACK_AMT = " + cashbackAmtTextBoxValue + "\n PAYMENT_APP_ID = " + paymentAppIdComboBoxValue + "\n CURRENCY = " + currencyComboBoxValue;
else if (ecrRefNoTextBoxValue != "" && cashbackAmtTextBoxValue != "")
this.requestStrByThead = " EVENT_NAME : " + currEventName + "\n TXN_ID = " + txnIdForSale + "\n TXN_AMT = " + txnAmtTextBoxValue + "\n CASHBACK_AMT = " + cashbackAmtTextBoxValue + "\n PAYMENT_APP_ID = " + paymentAppIdComboBoxValue + "\n CURRENCY = " + currencyComboBoxValue + "\n ECR_REF_NO = " + ecrRefNoTextBoxValue;
else
this.requestStrByThead = " EVENT_NAME : " + currEventName + "\n TXN_ID = " + txnIdForSale + "\n TXN_AMT = " + txnAmtTextBoxValue + "\n PAYMENT_APP_ID = " + paymentAppIdComboBoxValue + "\n CURRENCY = " + currencyComboBoxValue + "\n ECR_REF_NO = " + ecrRefNoTextBoxValue;
showResult();
addLog("txnId = " + txnIdForSale + ", txnAmt = " + txnAmtTextBoxValue + ", paymentAppId = " + paymentAppIdComboBoxValue + ",currency = " + currencyComboBoxValue);
//jsonResultByThead = n5Core.requestSale(this.getTxnId(), txnAmtTextBoxValue, "0", paymentAppIdComboBoxValue, qrValueTextBoxValue);
this.saleRequestMsg = this.requestStrByThead;
Thread th = new Thread(requestSaleThead);
th.Start();
}
}
else if ("RETRIEVAL".Equals(this.thisEvent))
{
ecrTxnIdTextBoxValue = "";
traceNoTextBoxValue = this.retrieval_traceNoTextBox.Text;
retrievalTypeTextBoxValue = this.retrievalTypeComboBox.Text;
this.requestStrByThead = " EVENT_NAME : " + currEventName + "\n PAYMENT_APP_ID = " + "EPS" + "\n TRACE_NO = " + traceNoTextBoxValue + "\n RETRIEVAL_TYPE = " + retrievalTypeTextBoxValue; ;
showResult();
//jsonResultByThead = n5Core.requestRetrieval(ecrTxnIdTextBoxValue, 180000);
this.retrievalRequestMsg = this.requestStrByThead;
Thread th = new Thread(requestRetrievalThead);
th.Start();
}
else if ("SETTLE".Equals(this.thisEvent))
{
this.requestStrByThead = "Test Function : " + currEventName;
showResult();
//jsonResultByThead = n5Core.sendSettlementtRequest();
this.settlementRequestMsg = this.requestStrByThead;
Thread th = new Thread(requestSettlementThead);
th.Start();
}
else if ("Link Test".Equals(this.thisEvent))
{
this.requestStrByThead = "Test Function : " + currEventName;
showResult();
//jsonResultByThead = n5Core.sendLinkTestRequest();
this.linkTestRequestMsg = this.requestStrByThead;
Thread th = new Thread(requestLinkRequestThead);
th.Start();
}
else if ("PRINT".Equals(this.thisEvent))
{
traceNoTextBoxValue = this.print_traceNoTextBox.Text;
this.requestStrByThead = " EVENT_NAME : " + currEventName + "\n PAYMENT_APP_ID = " + "EPS" + "\n TRACE_NO = " + traceNoTextBoxValue;
showResult();
//jsonResultByThead = n5Core.sendReprintRequest();
this.reprintRequestMsg = this.requestStrByThead;
Thread th = new Thread(requestReprintThead);
th.Start();
}
else
{
addLog("thisEvent is error");
MessageBox.Show("Please select test function.", "Message");
return;
}
addLog("jsonResultByThead = " + jsonResultByThead);
showResult();
return;
}
private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
RadioButton thisButton = (RadioButton)sender;
this.thisEvent = thisButton.Content.ToString();
this.requestTextBox.Text = string.Empty;
this.result1TextBox.Text = string.Empty;
if (this.logPathTextBox.Text == null || "".Equals(this.logPathTextBox.Text.Trim()))
{
this.logPathTextBox.Text = "Log Path : " + System.IO.Path.GetTempPath() + "\\myN5TestWin.log";
}
showInput(this.thisEvent);
if ("SALE".Equals(this.thisEvent))
{
this.sale_ecrTxnIdTextBox.Text = "";
this.sale_ecrRefNoTextBox.Text = "";
this.sale_txnAmtTextBox.Text = "";
this.sale_cashbackAmtTextBox.Text = "";
if (this.sale_paymentAppIdComboBox.Text == null || "".Equals(this.sale_paymentAppIdComboBox.Text))
{
this.sale_paymentAppIdComboBox.Text = "EPS";
}
}
else if ("RETRIEVAL".Equals(this.thisEvent))
{
this.retrieval_traceNoTextBox.Text = "";
}
else if ("PRINT".Equals(this.thisEvent))
{
this.print_traceNoTextBox.Text = "";
}
else if ("SETTLE".Equals(this.thisEvent))
{
settle_valuedate_combox.Items.Clear();
}
else if ("Link Test".Equals(this.thisEvent))
{
}
}
private void Submit_1_Button_Click(object sender, RoutedEventArgs e)
{
this.requestTextBox.Text = string.Empty;
this.result1TextBox.Text = string.Empty;
this.submit_1_Button.IsEnabled = false;
addLog("==========Submit start========== ");
this.sendSubmit();
addLog("==========Submit end========== ");
this.submit_1_Button.IsEnabled = true;
}
private void Reset_Button_Click(object sender, RoutedEventArgs e)
{
this.requestTextBox.Text = string.Empty;
this.result1TextBox.Text = string.Empty;
}
public void addLog(string logInfo)
{
try
{
if (addLogFlag)
{
StreamWriter sw = File.AppendText(System.IO.Path.GetTempPath() + "\\myN5TestWin.log");
sw.WriteLine(DateTime.Now.ToString() + " [LOGGER] " + logInfo + Environment.NewLine);
sw.Flush();
sw.Close();
// Console.WriteLine(logInfo);
}
}
catch (Exception err)
{
Console.WriteLine("Exception = " + err);
addLogFlag = false;
}
}
public void addRepeatLog(string logInfo)
{
try
{
StreamWriter sw = File.AppendText(System.IO.Path.GetTempPath() + "\\myN5TestWin_repeat.log");
sw.WriteLine(DateTime.Now.ToString() + " [LOGGER] " + logInfo + Environment.NewLine);
sw.Flush();
sw.Close();
// Console.WriteLine(logInfo);
}
catch (Exception err)
{
Console.WriteLine("Exception = " + err);
}
}
public string getTxnId()
{
StringBuilder txnIdSb = new StringBuilder();
DateTime dt = DateTime.Now;
txnIdSb.Append(dt.ToString("yyyyMMddHHmmssfff"));
byte[] randomBytes = new byte[15];
RNGCryptoServiceProvider rngServiceProvider = new RNGCryptoServiceProvider();
rngServiceProvider.GetBytes(randomBytes);
Int32 resultInt32 = BitConverter.ToInt32(randomBytes, 0);
for (int i = 0; i < 15; i++)
{
txnIdSb.Append(randomBytes[i].ToString());
}
string txnIdResult = null;
if (txnIdSb.ToString().Length > 32)
{
txnIdResult = txnIdSb.ToString().Substring(0, 32);
}
else
{
txnIdResult = txnIdSb.ToString();
}
addLog("txnIdResult = " + txnIdResult);
return txnIdResult;
}
// public delegate void UpdateTextCallback(string message);
// private void UpdateTextThread()
// {
// this.requestTextBox.Dispatcher.Invoke(
// new UpdateTextCallback(this.UpdateRequestText),
// new object[] { "" });
//
// this.result1TextBox.Dispatcher.Invoke(
// new UpdateTextCallback(this.UpdateRequestText),
// new object[] { "" });
//
// }
// private int UpdateRequestText()
// {
// this.requestTextBox.Text = this.requestStrByThead;
// this.result1TextBox.Text = this.jsonResultByThead;
// if (this.logPathTextBox.Text == null || "".Equals(this.logPathTextBox.Text.Trim()))
// {
// this.logPathTextBox.Text = "Log Path : " + System.IO.Path.GetTempPath() + "\\myN5TestWin.log";
// }
// return 0;
// }
private int showResult()
{
//this.requestTextBox.Text = this.requestStrByThead;
requestTextBox.Dispatcher.Invoke(
DispatcherPriority.Normal, TimeSpan.FromSeconds(1), new Action(showRequestTxtBox));
showResultStr = this.jsonResultByThead.Replace("{", "").Replace("}", "").Replace(",", "\n");
//this.result1TextBox.Text = showResultStr;
result1TextBox.Dispatcher.Invoke(
DispatcherPriority.Normal, TimeSpan.FromSeconds(1), new Action(showResultTxtBox));
return 0;
}
private string batchResult = "";
private string selectedBatchStr = "";
private int showSettleResult()
{
//this.requestTextBox.Text = this.requestStrByThead;
requestTextBox.Dispatcher.Invoke(
DispatcherPriority.Normal, TimeSpan.FromSeconds(1), new Action(showRequestTxtBox));
showResultStr = this.jsonResultByThead.Replace("{", "").Replace("}", "").Replace(",", "\n");
//this.result1TextBox.Text = showResultStr;
result1TextBox.Dispatcher.Invoke(
DispatcherPriority.Normal, TimeSpan.FromSeconds(1), new Action(showResultTxtBox));
JObject jsonObj = null;
try
{
jsonObj = JObject.Parse(jsonResultByThead);
if (jsonObj.GetValue("STATUS").ToString().Equals("00"))
{
batchResult = (String)jsonObj.GetValue("BATCH");
settle_valuedate_combox.Dispatcher.Invoke(DispatcherPriority.Normal, TimeSpan.FromSeconds(1), new Action(showSettleComboBox));
showSettleComboBox();
}
else
batchResult = "";
}
catch (Exception ex) { }
return 0;
}
private void showRequestTxtBox()
{
this.requestTextBox.Text = requestStrByThead;
}
private void showResultTxtBox()
{
this.result1TextBox.Text = showResultStr;
}
private void showBatchResult()
{
this.result1TextBox.Text = selectedBatchStr;
}
private void showSettleComboBox()
{
sale_currencyComboBox.Visibility = Visibility.Hidden;
settle_valuedate_combox.Visibility = Visibility.Visible;
settle_valuedate_lbl.Visibility = Visibility.Visible;
if (batchResult != null)
{
JArray jlist = JArray.Parse(batchResult);
for (int i = 0; i < jlist.Count; ++i) //遍历JArray
{
JObject tempo = JObject.Parse(jlist[i].ToString());
settle_valuedate_combox.Items.Add(tempo.GetValue("BANKIN_VALUE_DATE"));
}
settle_valuedate_combox.Items.Add("show all");
settle_valuedate_combox.SelectedIndex = settle_valuedate_combox.Items.Count - 1;
}
}
private void ValueDayComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
try
{
if (this.settle_valuedate_combox.SelectedItem.ToString().Equals("show all"))
{
showResultTxtBox();
}
else
{
if (batchResult != null)
{
JArray jlist = JArray.Parse(batchResult);
for (int i = 0; i < jlist.Count; ++i) //遍历JArray
{
JObject tempo = JObject.Parse(jlist[i].ToString());
if (tempo.GetValue("BANKIN_VALUE_DATE").ToString().Equals(this.settle_valuedate_combox.SelectedItem.ToString()))
{
selectedBatchStr = tempo.ToString();
showBatchResult();
}
}
}
}
}
catch (Exception ex) { }
}
private void PortNameComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
this.n5CoreInitSuccess = false;
}
}
}