Beispiel #1
0
        //public bool PurchaseRefund(PurchaseRefundRequest request_, out PurchaseQueryResponse statusResponse_)
        //{
        //    LOG.Debug("ENTER");

        //    bool retVal = false;
        //    statusResponse_ = null;

        //    try
        //    {
        //        var code = GeoITDOperationCall(
        //            (out long trId_) =>
        //            {
        //                var resp = mPOSClient.processFinancialPurchaseRefund(request_);
        //                trId_ = resp.TransactionId;
        //                return resp.ResponseCode;
        //            }, request_, out statusResponse_, out retVal);
        //    }
        //    catch (Exception ex)
        //    {
        //        LOG.Fatal(ex, "{Message}", "Exception caught.");
        //    }
        //    finally
        //    {
        //        LOG.Debug("EXIT");
        //    }

        //    return retVal;
        //}

        public bool QueryTransactionStatus(PurchaseQueryRequest request_, out PurchaseQueryResponse statusResponse_, bool waitForStatus_ = true)
        {
            LOG.Debug("ENTER");

            bool retVal = false;

            statusResponse_ = null;

            try
            {
                PurchaseQueryResponse purchaseStatus = new PurchaseQueryResponse();
                bool keepReading = true;
                while (keepReading)
                {
                    purchaseStatus = mPOSClient.processFinancialPurchaseQuery(request_);

                    keepReading = (purchaseStatus.ResponseCode == 10 || purchaseStatus.ResponseCode == 12) && waitForStatus_;
                    Thread.Sleep(100);
                }

                retVal = purchaseStatus.ResponseCode == 0 &&
                         (purchaseStatus.PosResponseCode == "00" ||
                          purchaseStatus.PosResponseCode == "08" ||
                          purchaseStatus.PosResponseCode == "10" ||
                          purchaseStatus.PosResponseCode == "11" ||
                          purchaseStatus.PosResponseCode == "85" ||
                          purchaseStatus.PosResponseCode == "OF" ||
                          purchaseStatus.PosResponseCode == "Y1" ||
                          purchaseStatus.PosResponseCode == "Y3");

                statusResponse_ = purchaseStatus;
            }
            catch (Exception ex)
            {
                LOG.Fatal(ex, "{Message}", "Exception caught.");
            }
            finally
            {
                LOG.Debug("EXIT");
            }

            return(retVal);
        }
Beispiel #2
0
        //private int GeoITDOperationCall(GeoITDDelegate geoITDFunc_, Request request_, out PurchaseQueryResponse statusResponse_, out bool approved_)
        //{
        //    LOG.Debug("ENTER");

        //    int retVal = -1;
        //    statusResponse_ = null;
        //    approved_ = false;

        //    try
        //    {
        //        request_.SystemId = Settings.Default.GeoITD_SystemID;
        //        request_.PosID = Settings.Default.GeoITD_PosID;
        //        request_.Branch = Settings.Default.GeoITD_Branch;

        //        long transactionID;
        //        if(geoITDFunc_(out transactionID) != 0)
        //            return retVal;

        //        PurchaseQueryResponse purchaseStatus = new PurchaseQueryResponse();
        //        bool keepReading = true;
        //        while (keepReading)
        //        {
        //            PurchaseQueryRequest pqr = new PurchaseQueryRequest
        //            {
        //                SystemId = request_.SystemId,
        //                PosID = request_.PosID,
        //                Branch = request_.Branch,
        //                ClientAppId = request_.ClientAppId,
        //                UserId = request_.UserId,
        //                TransactionDateTimeyyyyMMddHHmmssSSS = request_.TransactionDateTimeyyyyMMddHHmmssSSS,
        //                TransactionId = transactionID
        //            };

        //            purchaseStatus = mPOSClient.processFinancialPurchaseQuery(pqr);

        //            keepReading = (purchaseStatus.ResponseCode == 10 || purchaseStatus.ResponseCode == 12);
        //            Thread.Sleep(100);
        //        }

        //        //if ((retVal = purchaseStatus.ResponseCode) == 0)

        //        approved_ = purchaseStatus.ResponseCode == 0 &&
        //                   (purchaseStatus.PosResponseCode == "00" ||
        //                    purchaseStatus.PosResponseCode == "08" ||
        //                    purchaseStatus.PosResponseCode == "10" ||
        //                    purchaseStatus.PosResponseCode == "11" ||
        //                    purchaseStatus.PosResponseCode == "85" ||
        //                    purchaseStatus.PosResponseCode == "OF" ||
        //                    purchaseStatus.PosResponseCode == "Y1" ||
        //                    purchaseStatus.PosResponseCode == "Y3");

        //        statusResponse_ = purchaseStatus;
        //        retVal = purchaseStatus.ResponseCode;
        //    }
        //    catch (Exception ex)
        //    {
        //        LOG.Fatal(ex, "{Message}", "Exception caught.");
        //    }
        //    finally
        //    {
        //        LOG.Debug("EXIT");
        //    }

        //    return retVal;
        //}

        private int GeoITDOperationCall(GeoITDDelegate geoITDFunc_, Request request_, out PurchaseQueryResponse statusResponse_, out bool approved_)
        {
            LOG.Debug("ENTER");

            int retVal = -1;

            statusResponse_ = null;
            approved_       = false;

            try
            {
                long transactionID;
                if (geoITDFunc_(out transactionID) != 0)
                {
                    return(retVal);
                }

                //retVal = purchaseStatus.ResponseCode;
            }
            catch (Exception ex)
            {
                LOG.Fatal(ex, "{Message}", "Exception caught.");
            }
            finally
            {
                LOG.Debug("EXIT");
            }

            return(retVal);
        }