コード例 #1
0
        public async Task <TpsResponse> EODTerminalRequestAsync(string paymentType, int pumpNo, string unKnownIndex7, CancellationToken token)
        {
            log.Debug("TpsService: Started Sending EODTerminalRequest...");
            log.Debug("TpsService: paymentType:{0},pumpNo:{1},UnknownIndex7:{2}", paymentType, pumpNo, unKnownIndex7);
            var tpsRequest = new TpsRequest()
            {
                TransactionType = "EODTerminal",
                PaymentType     = paymentType,
                UnknownIndex7   = unKnownIndex7
            };

            log.Debug("TpsService: Started serializing data.");
            string requestCsv = tpsSerializer.SerializeTpsRequest(tpsRequest);

            log.Debug("TpsService: Waiting for Response.");
            var responseCsv = await SendAsync(requestCsv, token);

            if (responseCsv == "")
            {
                return(null);
            }
            log.Debug("TpsService: Started Deserilizing data.");
            var tpsResponse = tpsSerializer.DeSerializeTpsResponse(responseCsv);

            log.Debug("TpsService: Return Tps response.");
            return(tpsResponse);
        }
コード例 #2
0
        public async Task <TpsResponse> SaleRequestAsync(string paymentType, int pumpNo, string invoiceNo, double amount, CancellationToken token)
        {
            log.Debug("TpsService: Started Sending sale request...");
            log.Debug("TpsService: paymentType{0},PumpNo:{1},invoiceNo:{2},amount:{3}.", paymentType, pumpNo, invoiceNo, amount);
            var tpsRequest = new TpsRequest()
            {
                TransactionType = "SaleInside",
                PaymentType     = paymentType,
                LaneNo          = pumpNo,
                InvoiceNo       = invoiceNo,
                Amount          = string.Format("{0:0.00}", amount)
            };

            log.Debug("TpsService: Started serializing data.");
            string requestCsv = tpsSerializer.SerializeTpsRequest(tpsRequest);

            log.Debug("TpsService: Request message to tps: {0}", requestCsv);
            log.Debug("TpsService: Waiting for Response.");
            var responseCsv = await SendAsync(requestCsv, token);

            if (responseCsv == "")
            {
                return(null);
            }
            log.Debug("TpsService: Response message from tps: {0}", responseCsv);
            log.Debug("TpsService: Started Deserilizing data.");
            var tpsResponse = tpsSerializer.DeSerializeTpsResponse(responseCsv);

            log.Debug("TpsService: Return Tps response.");
            return(tpsResponse);
        }
コード例 #3
0
        public string SerializeTpsRequest(TpsRequest tpsRequest, bool appendEndData = true)
        {
            log.Debug("TpsSerializer: Serializing tps request.");
            StringBuilder csvBuilder = new StringBuilder();

            using (var writer = new StringWriter(csvBuilder))
                using (var csvWriter = new CsvWriter(writer))
                {
                    csvWriter.Configuration.HasHeaderRecord = false;
                    csvWriter.WriteRecord(tpsRequest);
                }

            if (appendEndData)
            {
                csvBuilder.Append(",END-DATA");
            }

            log.Debug("TpsSerializer: Returning serialized data.");
            return(csvBuilder.ToString());
        }