Ejemplo n.º 1
0
        public DTO_TPurchaseInfo GetTenderInformation(DTO_TenderList tenderDetailsList)
        {
            ThorPurchase purchase = new ThorPurchase();

            foreach (DTO_ItemDetails items in tenderDetailsList.itemDetailsList)
            {
                purchase.ItemDetail.Add(new ThorItemDetail()
                {
                    ProductCode = items.thirdPartyCode,
                    UnitPrice   = items.unitPrice,
                    Quantity    = items.qty,
                });
            }
            foreach (DTO_TenderDetails tendered in tenderDetailsList.tenderItemDetails)
            {
                purchase.AccessToken = ThorAuthCheck.Instance.ThorlinkAccessToken;
                string tenderIdent = tendered.tenderIdentifier;
                purchase.CardNo = tendered.cardNo;
                int tenderCode = 0;
                if (tendered.thorTenderType == TenderTypeThor.eThorCash)
                {
                    tenderCode = (int)ThorTenderType.Cash;
                }
                else if (tendered.thorTenderType == TenderTypeThor.eThorPoints)
                {
                    tenderCode = (int)ThorTenderType.Loyalty;
                }
                else if (tendered.thorTenderType == TenderTypeThor.eThorVoucher)
                {
                    tenderCode           = (int)ThorTenderType.Voucher;
                    tendered.tenderValue = 0.0;
                }
                else if (tendered.thorTenderType == TenderTypeThor.eThorDebitCard)
                {
                    tenderCode = (int)ThorTenderType.DebitCard;
                }
                else if (tendered.thorTenderType == TenderTypeThor.eThorCheque)
                {
                    tenderCode = (int)ThorTenderType.Cheque;
                }
                purchase.TenderDetail.Add(new ThorTenderDetail()
                {
                    TenderTypeCode   = tenderCode,
                    TenderIdentifier = tenderIdent,
                    TenderValue      = tendered.tenderValue,
                });
                if (tendered.sendTransactionValue == false)
                {
                    purchase.TransactionValue += 0;
                }
                else
                {
                    purchase.TransactionValue += tendered.tenderValue;
                }
            }
            DoProcess(purchase);
            return(_purchaseResponseInfo);
        }
Ejemplo n.º 2
0
        private void DoProcess(ThorPurchase process)
        {
            try
            {
                process.Callback = TransactionResponseHandler;

                process.Submit();
                WaitForResponse();
            }
            catch (Exception ex)
            {
                ServiceLogger.Log(" exception is ---" + ex.Message);
                _waitflag = false;
            }
        }
Ejemplo n.º 3
0
        public DTO_TPurchaseInfo FormatThorPurchaseResponse(object request, object response)
        {
            DTO_TPurchaseInfo purchaseInfo = new DTO_TPurchaseInfo();

            purchaseInfo.ResponseCode    = ((ThorResponse)response).ResponseCode;
            purchaseInfo.ResponseMessage = ((ThorResponse)response).ResponseDescription;
            ThorPurchase lastPurchase = (ThorPurchase)request;

            purchaseInfo.CardNumber        = lastPurchase.CardNo;
            purchaseInfo.CreditValue       = lastPurchase.CreditValue;
            purchaseInfo.LoyaltyValue      = lastPurchase.LoyaltyValue;
            purchaseInfo.TransactionNumber = lastPurchase.TransactionNo;
            purchaseInfo.TransactionValue  = lastPurchase.TransactionValue;

            return(purchaseInfo);
        }