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); }
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); }
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()); }