Update to new bahncard image encoding

This commit is contained in:
Laura Hausmann 2022-03-20 02:48:59 +01:00
parent fb6ca021c2
commit 4cc3f22ade
Signed by: zotan
GPG key ID: D044E84C5BE01605
2 changed files with 278 additions and 253 deletions

View file

@ -1,6 +1,7 @@
@page
@using Microsoft.AspNetCore.Http
@using Microsoft.AspNetCore.Http.Extensions
@using System.Text
@model CardsModel
@{
ViewData["Title"] = "Cards";
@ -98,6 +99,13 @@
}
else if (Model.Cards.Any()) {
foreach (var card in Model.Cards) {
if (!card.CardQr.StartsWith("data:image/png"))
card.CardQr = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardQr));
if (!card.CardSecCode.StartsWith("data:image/png"))
card.CardSecCode = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardSecCode));
if (!card.CardImage.StartsWith("<?xml"))
card.CardImage = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardImage));
<div class="flex-grid">
<div class="flex-col">
<img src="@card.CardQr" alt="Ticketcode"/>

View file

@ -2,6 +2,7 @@
@using Microsoft.AspNetCore.Http
@using Microsoft.AspNetCore.Http.Extensions
@using bahnplan.web.database
@using System.Text
@model InspectionModel
@{
ViewData["Title"] = "Inspection";
@ -36,6 +37,14 @@
await using var db = new Database.DbConn();
if (db.Cards.Any(p => p.Value == 50 && p.Traveller == Model.Ticket.Traveller && p.UserId == Model.Leg.UserId)) {
var card = db.Cards.First(p => p.Value == 50 && p.Traveller == Model.Ticket.Traveller && p.UserId == Model.Leg.UserId);
if (!card.CardQr.StartsWith("data:image/png"))
card.CardQr = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardQr));
if (!card.CardSecCode.StartsWith("data:image/png"))
card.CardSecCode = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardSecCode));
if (!card.CardImage.StartsWith("<?xml"))
card.CardImage = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardImage));
<div class="flex-grid">
<div class="flex-col">
<img src="@card.CardQr" alt="Ticketcode"/>
@ -86,6 +95,14 @@ else if (Model.Ticket.TicketInfo.Contains("BC 25")) {
await using var db = new Database.DbConn();
if (db.Cards.Any(p => p.Value == 25 && p.Traveller == Model.Ticket.Traveller && p.UserId == Model.Leg.UserId)) {
var card = db.Cards.First(p => p.Value == 25 && p.Traveller == Model.Ticket.Traveller && p.UserId == Model.Leg.UserId);
if (!card.CardQr.StartsWith("data:image/png"))
card.CardQr = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardQr));
if (!card.CardSecCode.StartsWith("data:image/png"))
card.CardSecCode = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardSecCode));
if (!card.CardImage.StartsWith("<?xml"))
card.CardImage = Encoding.UTF8.GetString(Convert.FromBase64String(card.CardImage));
<div class="flex-grid">
<div class="flex-col">
<img src="@card.CardQr" alt="Ticketcode"/>