refactor: Refactor DevExpressSwissQrCodeProcessor to use Codecrete QRBill parser

- Change return type to tuple (Bill, string[])
- Remove custom parsing methods (ParseSwissQrBillContent, MapAddress, DetermineReferenceType)
- Use Codecrete QRBill.DecodeQrCodeText() for parsing
- Add SkiaSharp.QrCode v1.0.0 for QR decoding
- Remove obsolete ZXing and System.Drawing dependencies
- Add StringExtensions for QR code detection
- Raw lines properly split and trimmed from QR text
This commit is contained in:
2026-07-16 15:47:33 +02:00
parent 889144f144
commit 88bde13422
3 changed files with 146 additions and 156 deletions

View File

@@ -0,0 +1,16 @@
using System.Xml.Serialization;
namespace DocumentOperator.Infrastructure.Services;
public static class StringExtensions
{
public static T? DeserializeXml<T>(this string xmlText)
{
if (string.IsNullOrWhiteSpace(xmlText))
return default;
var serializer = new XmlSerializer(typeof(T));
using var reader = new StringReader(xmlText);
return (T?)serializer.Deserialize(reader);
}
}