public void Serialize_Deserialize_ReceiptResponse_ShouldReturn_InitialClass() { var chargeItem = new ifPOS.v0.ReceiptResponse(); chargeItem.ftStateData = Guid.NewGuid().ToString(); chargeItem.ftReceiptHeader = new string[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }; chargeItem.ftChargeItems = new ifPOS.v0.ChargeItem[] { }; chargeItem.ftPayItems = new ifPOS.v0.PayItem[] { }; chargeItem.ftPayLines = new string[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }; chargeItem.ftSignatures = new ifPOS.v0.SignaturItem[] { }; chargeItem.ftReceiptFooter = new string[] { Guid.NewGuid().ToString(), Guid.NewGuid().ToString() }; var stream1 = new MemoryStream(); var serializer = new DataContractSerializer(typeof(ifPOS.v0.ReceiptResponse)); serializer.WriteObject(stream1, chargeItem); stream1.Position = 0; var xmlChargeItem = (ifPOS.v0.ReceiptResponse)serializer.ReadObject(stream1); xmlChargeItem.ftCashBoxID.Should().Be(chargeItem.ftCashBoxID); xmlChargeItem.ftQueueID.Should().Be(chargeItem.ftQueueID); xmlChargeItem.ftQueueItemID.Should().Be(chargeItem.ftQueueItemID); xmlChargeItem.ftQueueRow.Should().Be(chargeItem.ftQueueRow); xmlChargeItem.cbTerminalID.Should().Be(chargeItem.cbTerminalID); xmlChargeItem.cbReceiptReference.Should().Be(chargeItem.cbReceiptReference); xmlChargeItem.ftCashBoxIdentification.Should().Be(chargeItem.ftCashBoxIdentification); xmlChargeItem.ftReceiptIdentification.Should().Be(chargeItem.ftReceiptIdentification); xmlChargeItem.ftReceiptMoment.Should().Be(chargeItem.ftReceiptMoment); xmlChargeItem.ftReceiptHeader.Should().BeEquivalentTo(chargeItem.ftReceiptHeader); xmlChargeItem.ftChargeItems.Should().BeEquivalentTo(chargeItem.ftChargeItems); xmlChargeItem.ftPayItems.Should().BeEquivalentTo(chargeItem.ftPayItems); xmlChargeItem.ftPayLines.Should().BeEquivalentTo(chargeItem.ftPayLines); xmlChargeItem.ftSignatures.Should().BeEquivalentTo(chargeItem.ftSignatures); xmlChargeItem.ftReceiptFooter.Should().BeEquivalentTo(chargeItem.ftReceiptFooter); xmlChargeItem.ftState.Should().Be(chargeItem.ftState); xmlChargeItem.ftStateData.Should().Be(chargeItem.ftStateData); }
public ifPOS.v0.ReceiptResponse Sign(ifPOS.v0.ReceiptRequest request) { var response = new ifPOS.v0.ReceiptResponse { ftCashBoxID = request.ftCashBoxID, cbTerminalID = request.cbTerminalID, cbReceiptReference = request.cbReceiptReference, ftQueueID = request.ftQueueID, ftReceiptMoment = DateTime.UtcNow }; return(response); }
public void SignAsync() { var client = CreateClient(); var request = new ifPOS.v0.ReceiptRequest(); var ar = client.BeginSign(request, new AsyncCallback(result => { var asyncState = (ifPOS.v0.IPOS)result.AsyncState; SignAsyncResponse = asyncState.EndSign(result); }), client); while (SignAsyncResponse == null) { System.Threading.Thread.Sleep(0); } SignAsyncResponse.Should().NotBeNull(); }
public static void PrintResponse(ifPOS.v0.ReceiptResponse response) { if (response != null) { Console.WriteLine("{0:G} ReceiptResponse:", DateTime.Now); Console.WriteLine(JsonConvert.SerializeObject(response, Formatting.Indented)); Console.WriteLine("========== n: {0} CashBoxIdentificateion:{1} ReceiptIdentification:{2} ==========", response.cbReceiptReference, response.ftCashBoxIdentification, response.ftReceiptIdentification); foreach (var item in response.ftSignatures.Where(x => x.ftSignatureFormat != 0x03)) { Console.WriteLine("{0}:{1}", item.Caption, item.Data); } foreach (var item in response.ftSignatures.Where(x => x.ftSignatureFormat == 0x03)) { QrCodeHelper.PrintQrCode(item.Data); } } else { Console.WriteLine("null-result!!!"); } }
public static ifPOS.v1.ReceiptResponse Into(this ifPOS.v0.ReceiptResponse from) { return(new ifPOS.v1.ReceiptResponse() { ftCashBoxID = from.ftCashBoxID, ftQueueID = from.ftQueueID, ftQueueItemID = from.ftQueueItemID, ftQueueRow = from.ftQueueRow, cbTerminalID = from.cbTerminalID, cbReceiptReference = from.cbReceiptReference, ftCashBoxIdentification = from.ftCashBoxIdentification, ftReceiptIdentification = from.ftReceiptIdentification, ftReceiptMoment = from.ftReceiptMoment, ftReceiptHeader = from.ftReceiptHeader, ftChargeItems = ConvertArray(from.ftChargeItems, i => i.Into()), ftChargeLines = from.ftChargeLines, ftPayItems = ConvertArray(from.ftPayItems, i => i.Into()), ftPayLines = from.ftPayLines, ftSignatures = ConvertArray(from.ftSignatures, i => i.Into()), ftReceiptFooter = from.ftReceiptFooter, ftState = from.ftState, ftStateData = from.ftStateData, }); }