public void ParseQrCodeGeschlossenesSystemTest() { var test = new ReceiptQrCode(QRCODE1); string Ordnungsbegriff_des_Unternehmers = test.CertificateSerial; Assert.True(test.IstGeschlossenesSystem()); Assert.Equal("U:ATU46674503-01", Ordnungsbegriff_des_Unternehmers); }
private async void ScanBon_Clicked(object sender, EventArgs e) { try { var scanner = DependencyService.Get <IQrScanningService>(); var result = await scanner.ScanAsync(); if (result != null) { System.Diagnostics.Debug.WriteLine("QR: " + result); StringBuilder stb = new StringBuilder(); stb.AppendLine($"QR: {result}"); var qrCode = new ReceiptQrCode(result); if (qrCode.IsValid) { stb.AppendLine($"Cipher Suite: {qrCode.CipherSuite}"); if (!qrCode.IstGeschlossenesSystem()) { stb.AppendLine($"Cert Id: {qrCode.CertificateSerialAsDecimal}"); } else { stb.AppendLine("Kassentyp: geschlossenes System"); } stb.AppendLine($"Datum: {qrCode.Date}"); stb.AppendLine($"Beträge: {qrCode.BetragSatzNormal} / {qrCode.BetragSatzErmaessigt1} / {qrCode.BetragSatzErmaessigt2} / {qrCode.BetragSatzNull} / {qrCode.BetragSatzBesonders}"); if (!qrCode.IstGeschlossenesSystem()) { var certificateLookupResult = CertificateLookup.Lookup(qrCode); if (certificateLookupResult.Found) { bool verified = qrCode.ValidateSignatureBouncyCastle(certificateLookupResult.CertificateBinary); stb.AppendLine($"Ergebnis Validierung Signatur: {verified}"); } else { stb.AppendLine($"Fehler: Zertifikat nicht gefunden, {certificateLookupResult.ErrorMessage}"); } } else { stb.AppendLine($"Ordnungsbegriff des Unternehmers: {qrCode.CertificateSerial}"); } } else { stb.AppendLine("Fehler: QR Code ungültig"); } VerificationResult.Text = stb.ToString(); } } catch (Exception ex) { await DisplayAlert("Scan Error", ex.ToString(), "OK"); } }