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.
461 lines
17 KiB
461 lines
17 KiB
using System;
|
|
using System.Text;
|
|
|
|
namespace n5coredll
|
|
{
|
|
public class SaleResult {
|
|
private static string TXN_ID = "TXN_ID";
|
|
private static string STATUS = "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 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 ecrRefTxnId;
|
|
private string status;
|
|
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 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;
|
|
|
|
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 getMid() {
|
|
return mid;
|
|
}
|
|
private void setMid(string pMid) {
|
|
this.mid = pMid;
|
|
}
|
|
public string getTid() {
|
|
return tid;
|
|
}
|
|
private void setTid(string pTid) {
|
|
this.tid = pTid;
|
|
}
|
|
public string getPan() {
|
|
return pan;
|
|
}
|
|
private void setPan(string pPan) {
|
|
this.pan = pPan;
|
|
}
|
|
public string getExpiryDate() {
|
|
return expiryDate;
|
|
}
|
|
private void setExpiryDate(string pExpiryDate) {
|
|
this.expiryDate = pExpiryDate;
|
|
}
|
|
public string getLoyaltyRef() {
|
|
return loyaltyRef;
|
|
}
|
|
private void setLoyaltyRef(string pLoyaltyRef) {
|
|
this.loyaltyRef = pLoyaltyRef;
|
|
}
|
|
public string getAid() {
|
|
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;
|
|
}
|
|
|
|
private static string curTxnId;
|
|
public static string toJsonForSale(string txnId, decimal txnAmt, decimal tipAmt, PaymentApp appId, string qrcValue) {
|
|
|
|
string cardSaleMsg = "{\"EVENT_NAME\":\"SALE\",\"PAYMENT_APP_ID\":\"" + ObjectUtil.getPaymentAppValue(appId) + "\",\"TXN_ID\":\"" + txnId + "\",\"TIPS\":" + tipAmt + ",\"TXN_AMT\":" + txnAmt + ",\"QRC_VALUE\":\"" + qrcValue + "\"}";
|
|
return cardSaleMsg;
|
|
}
|
|
|
|
public static string toJsonForSale(string txnId, decimal txnAmt, decimal tipAmt, PaymentApp appId, string qrcValue, string pan, string expDate)
|
|
{
|
|
|
|
string cardSaleMsg = "{\"EVENT_NAME\":\"SALE\",\"PAYMENT_APP_ID\":\"" + ObjectUtil.getPaymentAppValue(appId) + "\",\"TXN_ID\":\"" + txnId + "\",\"TIPS\":" + tipAmt + ",\"TXN_AMT\":" + txnAmt + ",\"PAN\":\"" + pan + "\",\"EXPIRY_DATE\":\"" + expDate + "\",\"QRC_VALUE\":\"" + qrcValue + "\"}";
|
|
return cardSaleMsg;
|
|
}
|
|
public static string toJsonForPreauth(string txnId, decimal txnAmt, PaymentApp appId, string pan, string expDate)
|
|
{
|
|
|
|
string cardSaleMsg = "{\"EVENT_NAME\":\"PREAUTH\",\"PAYMENT_APP_ID\":\"" + ObjectUtil.getPaymentAppValue(appId) + "\",\"TXN_ID\":\"" + txnId + "\",\"TXN_AMT\":" + txnAmt + ",\"PAN\":\"" + pan + "\",\"EXPIRY_DATE\":\"" + expDate + "\"}";
|
|
return cardSaleMsg;
|
|
}
|
|
public static string toJsonForOffline(string txnId, decimal txnAmt, PaymentApp appId, string authCode, string pan, string expDate)
|
|
{
|
|
|
|
string cardSaleMsg = "{\"EVENT_NAME\":\"OFFLINE\",\"PAYMENT_APP_ID\":\"" + ObjectUtil.getPaymentAppValue(appId) + "\",\"TXN_ID\":\"" + txnId + "\",\"TXN_AMT\":" + txnAmt + ",\"AUTH_CODE\":\"" + authCode + "\""+ ",\"PAN\":\"" + pan + "\",\"EXPIRY_DATE\":\"" + expDate + "\"}";
|
|
return cardSaleMsg;
|
|
}
|
|
public static string toJsonForAdjust(string txnId, decimal totalAmt, decimal totalForeignAmt, PaymentApp appId)
|
|
{
|
|
|
|
string cardSaleMsg = "{\"EVENT_NAME\":\"ADJUST\",\"PAYMENT_APP_ID\":\"" + ObjectUtil.getPaymentAppValue(appId) + "\",\"TXN_ID\":\"" + txnId + "\",\"TOTAL_TXN_AMT\":" + totalAmt + "}";
|
|
return cardSaleMsg;
|
|
}
|
|
private static string getTxnId() {
|
|
StringBuilder txnIdSb = new StringBuilder();
|
|
DateTime dt = DateTime.Now;
|
|
txnIdSb.Append(dt.ToString("yyyyMMddHHmmssfff"));
|
|
Console.WriteLine("txnIdSb = " + txnIdSb.ToString());
|
|
int randomTime = 0;
|
|
if (dt.Ticks.ToString().Length > 8) {
|
|
Console.WriteLine("Ticks.Length > 8 = " + dt.Ticks.ToString());
|
|
randomTime = int.Parse(dt.Ticks.ToString().Substring(0, 8));
|
|
}
|
|
else {
|
|
randomTime = int.Parse(dt.Ticks.ToString());
|
|
}
|
|
|
|
if (randomTime > 0) {
|
|
Random random = new Random(randomTime);
|
|
for (int i = 0; i < 15; i++) {
|
|
int thidRandom = random.Next(10);
|
|
txnIdSb.Append(thidRandom);
|
|
}
|
|
Console.WriteLine("txnIdSb.ToString = " + txnIdSb.ToString());
|
|
return txnIdSb.ToString();
|
|
}
|
|
else {
|
|
Console.WriteLine("randomTime is error = " + randomTime);
|
|
}
|
|
|
|
return "";
|
|
}
|
|
|
|
public SaleResult() {
|
|
}
|
|
|
|
public SaleResult(string pStatus) {
|
|
this.setStatus(pStatus);
|
|
}
|
|
|
|
public static SaleResult toSaleResultFromJsonMsg(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;
|
|
SaleResult saleResult = new SaleResult();
|
|
|
|
for (int i = 0; i < column.Length; i++) {
|
|
valueColumn = column[i].Split(':');
|
|
valueColumn0 = valueColumn[0].Replace('"', ' ').Trim();
|
|
valueColumn1 = valueColumn[1].Replace('"', ' ').Trim();
|
|
if (SaleResult.TXN_ID.Equals(valueColumn0)) {
|
|
saleResult.setEcrRefTxnId(valueColumn1);
|
|
}
|
|
if (SaleResult.STATUS.Equals(valueColumn0)) {
|
|
saleResult.setStatus(valueColumn1);
|
|
}
|
|
|
|
if (SaleResult.TXN_AMT.Equals(valueColumn0)) {
|
|
if (valueColumn1 == null || "".Equals(valueColumn1)) {
|
|
saleResult.setTxnAmt(decimal.Parse("0.00", System.Globalization.NumberStyles.AllowDecimalPoint));
|
|
}
|
|
else {
|
|
saleResult.setTxnAmt(decimal.Parse(valueColumn1));
|
|
}
|
|
}
|
|
|
|
if (SaleResult.TIPS.Equals(valueColumn0)) {
|
|
if (valueColumn1 == null || "".Equals(valueColumn1)) {
|
|
saleResult.setTipAmt(decimal.Parse("0.00", System.Globalization.NumberStyles.AllowDecimalPoint));
|
|
}
|
|
else {
|
|
saleResult.setTipAmt(decimal.Parse(valueColumn1, System.Globalization.NumberStyles.AllowDecimalPoint));
|
|
}
|
|
}
|
|
|
|
if (SaleResult.PAYMENT_TYPE.Equals(valueColumn0)) {
|
|
saleResult.setPaymentType(ObjectUtil.getPaymentType(valueColumn1));
|
|
}
|
|
|
|
if (SaleResult.RESP_CODE.Equals(valueColumn0)) {
|
|
saleResult.setRespCode(valueColumn1);
|
|
}
|
|
|
|
if (SaleResult.LOYALTY_TYPE.Equals(valueColumn0)) {
|
|
saleResult.setLoyaltyType(ObjectUtil.getLoyaltyType(valueColumn1));
|
|
}
|
|
|
|
if (SaleResult.CAMPAIGN_ID.Equals(valueColumn0)) {
|
|
saleResult.setCampaignId(valueColumn1);
|
|
}
|
|
|
|
if (SaleResult.TRACE_NO.Equals(valueColumn0)) {
|
|
saleResult.setTraceNo(valueColumn1);
|
|
}
|
|
if (SaleResult.TXN_DATE.Equals(valueColumn0)) {
|
|
saleResult.setTxnDate(valueColumn1);
|
|
}
|
|
if (SaleResult.TXN_TIME.Equals(valueColumn0)) {
|
|
saleResult.setTxnTime(valueColumn1);
|
|
}
|
|
|
|
if (SaleResult.HOST_REF.Equals(valueColumn0)) {
|
|
saleResult.setHostRef(valueColumn1);
|
|
}
|
|
if (SaleResult.COUPON_ID.Equals(valueColumn0)) {
|
|
saleResult.setCouponId(valueColumn1);
|
|
}
|
|
if (SaleResult.AUTH_CODE.Equals(valueColumn0)) {
|
|
saleResult.setAuthCode(valueColumn1);
|
|
}
|
|
if (SaleResult.AUTH_AMT.Equals(valueColumn0)) {
|
|
saleResult.setAuthAmt(valueColumn1);
|
|
}
|
|
if (SaleResult.DISCOUNT.Equals(valueColumn0)) {
|
|
saleResult.setDiscAmt(valueColumn1);
|
|
}
|
|
if (SaleResult.LOCAL_CUR.Equals(valueColumn0)) {
|
|
saleResult.setLocalCur(valueColumn1);
|
|
}
|
|
if (SaleResult.FOREIGN_CUR.Equals(valueColumn0)) {
|
|
saleResult.setForeignCur(valueColumn1);
|
|
}
|
|
if (SaleResult.FXRATE.Equals(valueColumn0)) {
|
|
saleResult.setFxRate(valueColumn1);
|
|
}
|
|
if (SaleResult.FOREIGN_AMT.Equals(valueColumn0)) {
|
|
saleResult.setForeignAmt(valueColumn1);
|
|
}
|
|
if (SaleResult.MID.Equals(valueColumn0)) {
|
|
saleResult.setMid(valueColumn1);
|
|
}
|
|
if (SaleResult.TID.Equals(valueColumn0)) {
|
|
saleResult.setTid(valueColumn1);
|
|
}
|
|
if (SaleResult.PAN.Equals(valueColumn0)) {
|
|
saleResult.setPan(valueColumn1);
|
|
}
|
|
if (SaleResult.EXPIRY_DATE.Equals(valueColumn0)) {
|
|
saleResult.setExpiryDate(valueColumn1);
|
|
}
|
|
if (SaleResult.LOYALTY_REF.Equals(valueColumn0)) {
|
|
saleResult.setLoyaltyRef(valueColumn1);
|
|
}
|
|
if (SaleResult.AID.Equals(valueColumn0)) {
|
|
saleResult.setAid(valueColumn1);
|
|
}
|
|
if (SaleResult.ENTRY_MODE.Equals(valueColumn0)) {
|
|
saleResult.setEntryMode(valueColumn1);
|
|
}
|
|
if (SaleResult.BATCH_NO.Equals(valueColumn0)) {
|
|
saleResult.setBatchNo(valueColumn1);
|
|
}
|
|
if (SaleResult.APP.Equals(valueColumn0)) {
|
|
saleResult.setApp(valueColumn1);
|
|
}
|
|
if (SaleResult.TC.Equals(valueColumn0)) {
|
|
saleResult.setTc(valueColumn1);
|
|
}
|
|
if (SaleResult.ACQUIRER.Equals(valueColumn0)) {
|
|
saleResult.setAcquirer(valueColumn1);
|
|
}
|
|
|
|
}
|
|
return saleResult;
|
|
}
|
|
}
|
|
}
|
|
|