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.

468 lines
16 KiB

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(int.Parse("0", System.Globalization.NumberStyles.AllowDecimalPoint));
}
else {
retrievalResult.setTxnAmt(int.Parse(valueColumn1, System.Globalization.NumberStyles.AllowDecimalPoint));
}
}
if (RetrievalResult.TIPS.Equals(valueColumn0)) {
if (valueColumn1 == null || "".Equals(valueColumn1)) {
retrievalResult.setTipAmt(int.Parse("0", System.Globalization.NumberStyles.AllowDecimalPoint));
}
else {
retrievalResult.setTipAmt(int.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;
}
}
}