public void SetParameter(ArrayOfKeyValueOfbase64Binarybase64BinaryKeyValueOfbase64Binarybase64Binary config) { if (config.Key[0] != 0xC0 || config.Key[1] < 0x01 || config.Key[1] > 0x24) { throw new ArgumentOutOfRangeException(); } try { var idx = config.Key[1] - 1; Array.Copy(config.Value, _currentConfig[idx].Value, config.Value.Length); } catch (Exception ex) { throw ex; } }
public ReturnData StartTransaction(double amount, bool amountSpecified) { Trace.WriteLine(string.Format("{0} StartTransaction(): Call", DateTime.Now.ToString("yyyyMMdd HH:mm:ss.fff"))); ArrayOfKeyValueOfbase64Binarybase64BinaryKeyValueOfbase64Binarybase64Binary txnResult = new ArrayOfKeyValueOfbase64Binarybase64BinaryKeyValueOfbase64Binarybase64Binary { Key = new byte[] { 0xC1, 0x01 } }; ReturnData returnData = new ReturnData { ReturnCode = ReturnCode.Successful, ReturnValue = new ArrayOfKeyValueOfbase64Binarybase64BinaryKeyValueOfbase64Binarybase64Binary[] { txnResult } }; byte[] statusWord = null; try { // Initial Transaction string t61Message = BuildTxnDataStream(amount); //Thread.Sleep(100); Trace.WriteLine(string.Format("{0} StartTransaction(): Sending T61", DateTime.Now.ToString("yyyyMMdd HH:mm:ss.fff"))); _serialPort.WriteAndReadMessage(PktType.STX, "T61", t61Message, out string t61Response, true, 30000); Trace.WriteLine(string.Format("{0} StartTransaction(): T61 sent", DateTime.Now.ToString("yyyyMMdd HH:mm:ss.fff"))); _debugLogHandler.ClearDebugLog(); _serialPort.WriteAndReadMessage(PktType.STX, "V03", "", out string v03Response, true); if (v03Response.ToUpper().StartsWith("V040")) { string command = v03Response.Substring(v03Response.LastIndexOf(Convert.ToChar(0x1A)) + 1, 4); statusWord = DataManager.HexStringToByteArray(v03Response.Substring(v03Response.Length - 4)); _debugLogHandler.Add( new ArrayOfKeyValueOfbase64Binarybase64BinaryKeyValueOfbase64Binarybase64Binary { Key = DataManager.HexStringToByteArray(command), Value = DataManager.HexStringToByteArray(v03Response.Substring(9)) } ); } GetTxnData(); returnData.ReturnValue[0].Value = TransactionResultAnalyze(t61Response, statusWord); } catch (Exception ex) { Trace.WriteLine(string.Format("{0} Exception: {1}", DateTime.Now.ToString("yyyyMMdd HH:mm:ss.fff"), ex.Message)); txnResult.Value = new byte[] { 0xEF, 0x00 }; returnData.ReturnCode = ReturnCode.Error; returnData.ReturnCodeSpecified = true; } Trace.WriteLine(string.Format("{0} StartTransaction(): Return", DateTime.Now.ToString("yyyyMMdd HH:mm:ss.fff"))); return(returnData); }
public void Add(ArrayOfKeyValueOfbase64Binarybase64BinaryKeyValueOfbase64Binarybase64Binary data) { debugLog.Add(data); }