using System; using System.Text; namespace n5coredll { public class VoidResult { private static string TXN_ID = "TXN_ID"; private static string STATUS = "STATUS"; private static string PAYMENT_TYPE = "PAYMENT_TYPE"; private static string RESP_CODE = "RESP_CODE"; private static string TXN_DATE = "TXN_DATE"; private static string TXN_TIME = "TXN_TIME"; private static string HOST_REF = "HOST_REF"; private static string TC = "TC"; private static string APP = "APP"; private static string ACQUIRER = "ACQUIRER"; private string ecrRefTxnId; private string status; private PaymentType paymentType; private string respCode; private string txnDate; private string txnTime; private string hostRef; private string tc; private string app; private string acquirer; private void setEcrRefTxnId(string pEcrRefTxnId) { ecrRefTxnId = pEcrRefTxnId; } public string EcrRefTxnId { get { return ecrRefTxnId; } } public string Status { get { return status; } } private void setStatus(string pStatus) { this.status = pStatus; } public PaymentType PaymentType { get { return paymentType; } } private void setPaymentType(PaymentType pPaymentType) { this.paymentType = pPaymentType; } public string RespCode { get { return respCode; } } private void setRespCode(string pRespCode) { this.respCode = pRespCode; } public string TxnDate { get { return txnDate; } } private void setTxnDate(string pTxnDate) { this.txnDate = pTxnDate; } public string TxnTime { get { return txnTime; } } private void setTxnTime(string pTxnTime) { this.txnTime = pTxnTime; } public string HostRef { get { return hostRef; } } private void setHostRef(string pHostRef) { this.hostRef = pHostRef; } public string Tc { get { return tc; } } private void setTc(string pTc) { this.tc = pTc; } public string App { get { return app; } } private void setApp(string pApp) { this.app = pApp; } public string Acquirer { get { return acquirer; } } private void setAcquirer(string pAcquirer) { this.acquirer = pAcquirer; } public VoidResult() { } public VoidResult(string pStatus) { this.setStatus(pStatus); } public static string toJsonForVoid(string txnId, string qrcValue) { if (txnId == null || "".Equals(txnId)) { Console.WriteLine("txnId is null "); return null; } string cardVoidMsg = "{\"EVENT_NAME\":\"VOID\",\"TXN_ID\":\"" + txnId + "\",\"QRC_VALUE\":\"" + qrcValue + "\",\"PAYMENT_APP_ID\":\"CC\"}"; return cardVoidMsg; } public static VoidResult toVoidResultFromJsonMsg(string jsonMsg) { if (jsonMsg == null || !jsonMsg.StartsWith("{") || !jsonMsg.EndsWith("}")) { return null; } int jsonLength = jsonMsg.Length; jsonMsg = jsonMsg.Substring(0, jsonLength - 1); jsonMsg = jsonMsg.Substring(1, jsonLength - 2); string[] column = jsonMsg.Split(','); string[] valueColumn = null; string valueColumn0 = null; string valueColumn1 = null; VoidResult VoidResult = new VoidResult(); for (int i = 0; i < column.Length; i++) { valueColumn = column[i].Split(':'); valueColumn0 = valueColumn[0].Replace('"', ' ').Trim(); valueColumn1 = valueColumn[1].Replace('"', ' ').Trim(); if (VoidResult.TXN_ID.Equals(valueColumn0)) { VoidResult.setEcrRefTxnId(valueColumn1); } if (VoidResult.STATUS.Equals(valueColumn0)) { VoidResult.setStatus(valueColumn1); } if (VoidResult.PAYMENT_TYPE.Equals(valueColumn0)) { VoidResult.setPaymentType(ObjectUtil.getPaymentType(valueColumn1)); } if (VoidResult.RESP_CODE.Equals(valueColumn0)) { VoidResult.setRespCode(valueColumn1); } if (VoidResult.TXN_DATE.Equals(valueColumn0)) { VoidResult.setTxnDate(valueColumn1); } if (VoidResult.TXN_TIME.Equals(valueColumn0)) { VoidResult.setTxnTime(valueColumn1); } if (VoidResult.HOST_REF.Equals(valueColumn0)) { VoidResult.setHostRef(valueColumn1); } if (VoidResult.APP.Equals(valueColumn0)) { VoidResult.setApp(valueColumn1); } if (VoidResult.TC.Equals(valueColumn0)) { VoidResult.setTc(valueColumn1); } if (VoidResult.ACQUIRER.Equals(valueColumn0)) { VoidResult.setAcquirer(valueColumn1); } } return VoidResult; } } }