async Task <ifPOS.v1.ReceiptResponse> ifPOS.v1.IPOS.SignAsync(ifPOS.v1.ReceiptRequest request) { if (_requestType.StartsWith("rest://")) { return(await JsonSignAsync(request)); } else { return(await XmlSignAsync(request)); } }
private async Task <ifPOS.v1.ReceiptResponse> JsonSignAsync(ifPOS.v1.ReceiptRequest request) { var jsonstring = JsonConvert.SerializeObject(request); var jsonContent = new StringContent(jsonstring, Encoding.UTF8, "application/json"); using (var client = new HttpClient()) { using (var response = await client.PostAsync(Path.Combine(_url, "v1/Sign"), jsonContent)) { response.EnsureSuccessStatusCode(); var content = await response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <ifPOS.v1.ReceiptResponse>(content.ToString())); } } }
private async Task <ifPOS.v1.ReceiptResponse> XmlSignAsync(ifPOS.v1.ReceiptRequest request) { var xmlString = Serialize(request); var xmlContent = new StringContent(xmlString, Encoding.UTF8, "application/xml"); using (var client = new HttpClient()) { using (var response = await client.PostAsync(Path.Combine(_url, "v1/Sign"), xmlContent)) { response.EnsureSuccessStatusCode(); var content = await response.Content.ReadAsStringAsync(); var xml = XElement.Parse(content); string jsonText = JsonConvert.SerializeXNode(xml); return(JsonConvert.DeserializeObject <ifPOS.v1.ReceiptResponse>(jsonText)); } } }
public static ifPOS.v0.ReceiptRequest Into(this ifPOS.v1.ReceiptRequest from) { return(new ifPOS.v0.ReceiptRequest() { ftCashBoxID = from.ftCashBoxID, ftQueueID = from.ftQueueID, ftPosSystemId = from.ftPosSystemId, cbTerminalID = from.cbTerminalID, cbReceiptReference = from.cbReceiptReference, cbReceiptMoment = from.cbReceiptMoment, cbChargeItems = ConvertArray(from.cbChargeItems, i => i.Into()), cbPayItems = ConvertArray(from.cbPayItems, i => i.Into()), ftReceiptCase = from.ftReceiptCase, ftReceiptCaseData = from.ftReceiptCaseData, cbReceiptAmount = from.cbReceiptAmount, cbUser = from.cbUser, cbArea = from.cbArea, cbCustomer = from.cbCustomer, cbSettlement = from.cbSettlement, cbPreviousReceiptReference = from.cbPreviousReceiptReference, }); }
public Task <ifPOS.v1.ReceiptResponse> SignAsync(ifPOS.v1.ReceiptRequest request) => _innerPOS.SignAsync(request);
public static void PrintRequest(ifPOS.v1.ReceiptRequest receiptRequest) { Console.WriteLine("{0:G} ReceiptRequest:", DateTime.Now); Console.WriteLine(JsonConvert.SerializeObject(receiptRequest, Formatting.Indented)); }
public Task <ifPOS.v1.ReceiptResponse> SignAsync(ifPOS.v1.ReceiptRequest request) => Task.Run(() => { var response = _innerPOS.Sign(request.Into()); return(response.Into()); });