diff --git a/QRPay/Pages/Home.razor b/QRPay/Pages/Home.razor index 9001e0b..12fc17d 100644 --- a/QRPay/Pages/Home.razor +++ b/QRPay/Pages/Home.razor @@ -1,7 +1,80 @@ @page "/" - +@using QRCoder +@using SixLabors.ImageSharp.Formats Home -

Hello, world!

+ -Welcome to your new app. + +@code { + string IBAN { get; set; } = string.Empty; + decimal Amount { get; set; } = 0; + string Remark { get; set; } = string.Empty; + string QRCodeStr { get; set; } = string.Empty; + string Name { get; set; } = string.Empty; + + bool _show = false; + + public void GenerateQRCode() + { + QRCodeStr = string.Empty; + + if (!string.IsNullOrWhiteSpace(IBAN)) + { + + using (var ms = new MemoryStream()) + { + QRCodeGenerator qRCodeGenerator = new QRCodeGenerator(); + + var payment = new PayBySquareTextGenerator.Payment(IBAN.Replace(" ", ""), Amount, "EUR", "1", Remark); + payment.ConstantSymbol = "0308"; + payment.BeneficiaryName = Name; + + var a = new PayBySquareTextGenerator.PayBySquareOverkill(payment); + var stringData = a.GeneratePayBySquareOverkillString(); + + // Generate QR code data + using var qrCodeData = QRCodeGenerator.GenerateQrCode(stringData, QRCodeGenerator.ECCLevel.Q); + using var qrCode = new PngByteQRCode(qrCodeData); + byte[] qrCodeImage = qrCode.GetGraphic(20); + + QRCodeStr = $"data:image/png;base64,{Convert.ToBase64String(qrCodeImage)}"; + } + + _show = true; + } + } +} \ No newline at end of file