using System; using System.Text; namespace n5coredll { public class RetrievalResult { private static string EVENT_NAME = "EVENT_NAME"; private static string TXN_TYPE = "TXN_TYPE"; private static string TXN_ID = "TXN_ID"; private static string STATUS = "STATUS"; private static string TXN_STATUS = "TXN_STATUS"; private static string TXN_AMT = "TXN_AMT"; private static string TIPS = "TIPS"; private static string PAYMENT_TYPE = "PAYMENT_TYPE"; private static string RESP_CODE = "RESP_CODE"; private static string LOYALTY_TYPE = "LOYALTY_TYPE"; private static string CAMPAIGN_ID = "CAMPAIGN_ID"; private static string TRACE_NO = "TRACE_NO"; private static string TXN_DATE = "TXN_DATE"; private static string TXN_TIME = "TXN_TIME"; private static string HOST_REF = "HOST_REF"; private static string COUPON_ID = "COUPON_ID"; private static string AUTH_CODE = "AUTH_CODE"; private static string TENDER = "TENDER"; private static string AUTH_AMT = "AUTH_AMT"; private static string DISCOUNT = "DISCOUNT"; private static string LOCAL_CUR = "LOCAL_CUR"; private static string FOREIGN_CUR = "FOREIGN_CUR"; private static string FXRATE = "FXRATE"; private static string FOREIGN_AMT = "FOREIGN_AMT"; private static string MID = "MID"; private static string TID = "TID"; private static string PAN = "PAN"; private static string EXPIRY_DATE = "EXPIRY_DATE"; private static string LOYALTY_REF = "LOYALTY_REF"; private static string AID = "AID"; private static string ENTRY_MODE = "ENTRY_MODE"; private static string BATCH_NO = "BATCH_NO"; private static string TC = "TC"; private static string APP = "APP"; private static string ACQUIRER = "ACQUIRER"; private string eventName; private TxnType txnType; private string ecrRefTxnId; private string status; private TxnStatus txnStatus; private decimal txnAmt; private decimal tipAmt; private PaymentType paymentType; private string respCode; private LoyaltyType loyaltyType; private string campaignId; private string traceNo; private string txnDate; private string txnTime; private string hostRef; private string couponId; private string authCode; private string tender; private string authAmt; private string discAmt; private string localCur; private string foreignCur; private string fxRate; private string foreignAmt; private string mid; private string tid; private string pan; private string expiryDate; private string loyaltyRef; private string aid; private string entryMode; private string batchNo; private string tc; private string app; private string acquirer; public void setEventName(string pEventName) { eventName = pEventName; } public string EventName { get { return eventName; } } private void setTxnType(TxnType pTxnType) { txnType = pTxnType; } public TxnType TxnType { get { return txnType; } } private void setTxnStatus(TxnStatus pTxnStatus) { txnStatus = pTxnStatus; } public TxnStatus TxnStatus { get { return txnStatus; } } private void setTender(string pTender) { tender = pTender; } public string Tender { get { return tender; } } 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 decimal TxnAmt { get { return txnAmt; } } private void setTxnAmt(decimal pTxnAmt) { this.txnAmt = pTxnAmt; } public decimal TipAmt { get { return tipAmt; } } private void setTipAmt(decimal pTipAmt) { this.tipAmt = pTipAmt; } 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 LoyaltyType LoyaltyType { get { return loyaltyType; } } private void setLoyaltyType(LoyaltyType pLoyaltyType) { this.loyaltyType = pLoyaltyType; } public string CampaignId { get { return campaignId; } } private void setCampaignId(string pCampaignId) { this.campaignId = pCampaignId; } public string TraceNo { get { return traceNo; } } private void setTraceNo(string pTraceNo) { this.traceNo = pTraceNo; } 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 CouponId { get { return couponId; } } private void setCouponId(string pCouponId) { this.couponId = pCouponId; } public string AuthCode { get { return authCode; } } private void setAuthCode(string pAuthCode) { this.authCode = pAuthCode; } public string AuthAmt { get { return authAmt; } } private void setAuthAmt(string pAuthAmt) { this.authAmt = pAuthAmt; } public string DiscAmt { get { return discAmt; } } private void setDiscAmt(string pDiscAmt) { this.discAmt = pDiscAmt; } public string LocalCur { get { return localCur; } } private void setLocalCur(string pLocalCur) { this.localCur = pLocalCur; } public string ForeignCur { get { return foreignCur; } } private void setForeignCur(string pForeignCur) { this.foreignCur = pForeignCur; } public string FxRate { get { return fxRate; } } private void setFxRate(string pFxRate) { this.fxRate = pFxRate; } public string ForeignAmt { get { return foreignAmt; } } private void setForeignAmt(string pForeignAmt) { this.foreignAmt = pForeignAmt; } public string Mid { get { return mid; } } private void setMid(string pMid) { this.mid = pMid; } public string Tid { get { return tid; } } private void setTid(string pTid) { this.tid = pTid; } public string Pan { get { return pan; } } private void setPan(string pPan) { this.pan = pPan; } public string ExpiryDate { get { return expiryDate; } } private void setExpiryDate(string pExpiryDate) { this.expiryDate = pExpiryDate; } public string LoyaltyRef { get { return loyaltyRef; } } private void setLoyaltyRef(string pLoyaltyRef) { this.loyaltyRef = pLoyaltyRef; } public string Aid { get { return aid; } } private void setAid(string pAid) { this.aid = pAid; } public string EntryMode { get { return entryMode; } } private void setEntryMode(string pEntryMode) { this.entryMode = pEntryMode; } public string BatchNo { get { return batchNo; } } private void setBatchNo(string pBatchNo) { this.batchNo = pBatchNo; } 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 RetrievalResult() { } public RetrievalResult(string pStatus) { this.setStatus(pStatus); } public static string toJsonForRetrieval(string txnId) { if (txnId == null || "".Equals(txnId)) { Console.WriteLine("txnId is null "); return null; } string cardSaleMsg = "{\"EVENT_NAME\":\"RETRIEVAL\",\"TXN_ID\":\"" + txnId + "\"}"; return cardSaleMsg; } public static RetrievalResult toRetrievalResultFromJsonMsg(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; RetrievalResult retrievalResult = new RetrievalResult(); for (int i = 0; i < column.Length; i++) { valueColumn = column[i].Split(':'); valueColumn0 = valueColumn[0].Replace('"', ' ').Trim(); valueColumn1 = valueColumn[1].Replace('"', ' ').Trim(); if (RetrievalResult.EVENT_NAME.Equals(valueColumn0)) { retrievalResult.setEventName(valueColumn1); } if (RetrievalResult.TXN_TYPE.Equals(valueColumn0)) { retrievalResult.setTxnType(ObjectUtil.getTxnType(valueColumn1)); } if (RetrievalResult.TXN_ID.Equals(valueColumn0)) { retrievalResult.setEcrRefTxnId(valueColumn1); } if (RetrievalResult.STATUS.Equals(valueColumn0)) { retrievalResult.setStatus(valueColumn1); } if (RetrievalResult.TXN_STATUS.Equals(valueColumn0)) { retrievalResult.setTxnStatus(ObjectUtil.getTxnStatus(valueColumn1)); } if (RetrievalResult.TXN_AMT.Equals(valueColumn0)) { if (valueColumn1 == null || "".Equals(valueColumn1)) { retrievalResult.setTxnAmt(decimal.Parse("0.00", System.Globalization.NumberStyles.AllowDecimalPoint)); } else { retrievalResult.setTxnAmt(decimal.Parse(valueColumn1, System.Globalization.NumberStyles.AllowDecimalPoint)); } } if (RetrievalResult.TIPS.Equals(valueColumn0)) { if (valueColumn1 == null || "".Equals(valueColumn1)) { retrievalResult.setTipAmt(decimal.Parse("0.00", System.Globalization.NumberStyles.AllowDecimalPoint)); } else { retrievalResult.setTipAmt(decimal.Parse(valueColumn1, System.Globalization.NumberStyles.AllowDecimalPoint)); } } if (RetrievalResult.PAYMENT_TYPE.Equals(valueColumn0)) { retrievalResult.setPaymentType(ObjectUtil.getPaymentType(valueColumn1)); } if (RetrievalResult.RESP_CODE.Equals(valueColumn0)) { retrievalResult.setRespCode(valueColumn1); } if (RetrievalResult.LOYALTY_TYPE.Equals(valueColumn0)) { retrievalResult.setLoyaltyType(ObjectUtil.getLoyaltyType(valueColumn1)); } if (RetrievalResult.CAMPAIGN_ID.Equals(valueColumn0)) { retrievalResult.setCampaignId(valueColumn1); } if (RetrievalResult.TRACE_NO.Equals(valueColumn0)) { retrievalResult.setTraceNo(valueColumn1); } if (RetrievalResult.TXN_DATE.Equals(valueColumn0)) { retrievalResult.setTxnDate(valueColumn1); } if (RetrievalResult.TXN_TIME.Equals(valueColumn0)) { retrievalResult.setTxnTime(valueColumn1); } if (RetrievalResult.HOST_REF.Equals(valueColumn0)) { retrievalResult.setHostRef(valueColumn1); } if (RetrievalResult.COUPON_ID.Equals(valueColumn0)) { retrievalResult.setCouponId(valueColumn1); } if (RetrievalResult.AUTH_CODE.Equals(valueColumn0)) { retrievalResult.setAuthCode(valueColumn1); } if (RetrievalResult.TENDER.Equals(valueColumn0)) { retrievalResult.setTender(valueColumn1); } if (RetrievalResult.AUTH_AMT.Equals(valueColumn0)) { retrievalResult.setAuthAmt(valueColumn1); } if (RetrievalResult.DISCOUNT.Equals(valueColumn0)) { retrievalResult.setDiscAmt(valueColumn1); } if (RetrievalResult.LOCAL_CUR.Equals(valueColumn0)) { retrievalResult.setLocalCur(valueColumn1); } if (RetrievalResult.FOREIGN_CUR.Equals(valueColumn0)) { retrievalResult.setForeignCur(valueColumn1); } if (RetrievalResult.FXRATE.Equals(valueColumn0)) { retrievalResult.setFxRate(valueColumn1); } if (RetrievalResult.FOREIGN_AMT.Equals(valueColumn0)) { retrievalResult.setForeignAmt(valueColumn1); } if (RetrievalResult.MID.Equals(valueColumn0)) { retrievalResult.setMid(valueColumn1); } if (RetrievalResult.TID.Equals(valueColumn0)) { retrievalResult.setTid(valueColumn1); } if (RetrievalResult.PAN.Equals(valueColumn0)) { retrievalResult.setPan(valueColumn1); } if (RetrievalResult.EXPIRY_DATE.Equals(valueColumn0)) { retrievalResult.setExpiryDate(valueColumn1); } if (RetrievalResult.LOYALTY_REF.Equals(valueColumn0)) { retrievalResult.setLoyaltyRef(valueColumn1); } if (RetrievalResult.AID.Equals(valueColumn0)) { retrievalResult.setAid(valueColumn1); } if (RetrievalResult.ENTRY_MODE.Equals(valueColumn0)) { retrievalResult.setEntryMode(valueColumn1); } if (RetrievalResult.BATCH_NO.Equals(valueColumn0)) { retrievalResult.setBatchNo(valueColumn1); } if (RetrievalResult.APP.Equals(valueColumn0)) { retrievalResult.setApp(valueColumn1); } if (RetrievalResult.TC.Equals(valueColumn0)) { retrievalResult.setTc(valueColumn1); } if (RetrievalResult.ACQUIRER.Equals(valueColumn0)) { retrievalResult.setAcquirer(valueColumn1); } } return retrievalResult; } } }