diff --git a/bahnplan.web/Pages/Cards.cshtml b/bahnplan.web/Pages/Cards.cshtml
index 1a2066d..3641ec8 100644
--- a/bahnplan.web/Pages/Cards.cshtml
+++ b/bahnplan.web/Pages/Cards.cshtml
@@ -1,161 +1,169 @@
@page
@using Microsoft.AspNetCore.Http
@using Microsoft.AspNetCore.Http.Extensions
+@using System.Text
@model CardsModel
@{
- ViewData["Title"] = "Cards";
+ ViewData["Title"] = "Cards";
- if (HttpContext.Session.GetString("authorized") != "true") {
- Response.Redirect($"/Login?&redir={Request.GetDisplayUrl().UrlEncode()}");
- return;
- }
+ if (HttpContext.Session.GetString("authorized") != "true") {
+ Response.Redirect($"/Login?&redir={Request.GetDisplayUrl().UrlEncode()}");
+ return;
+ }
- if (Request.Query.ContainsKey("refresh")) {
- Response.Redirect("?edit=true");
- return;
- }
+ if (Request.Query.ContainsKey("refresh")) {
+ Response.Redirect("?edit=true");
+ return;
+ }
}
@if (Request.Query["edit"] == "true") {
-
-
-
- Card |
- Number |
- Traveller |
- Card Validity |
- QR Validity |
- Actions |
-
-
-
- @foreach (var card in Model.Cards) {
-
- @card.CardInfo.TrimEnd('#') |
- @card.CardNumber |
- @card.Traveller |
-
- @{
- var from = DateTime.Parse(card.ValidFrom);
- var to = DateTime.Parse(card.ValidTo);
- if (from > DateTime.Now) {
-
- @card.ValidFrom.Split("T")[0]
-
- }
- else {
- @card.ValidFrom.Split("T")[0]
- }
-
- if (to < DateTime.Now) {
-
- @card.ValidTo.Split("T")[0]
-
- }
- else {
- @card.ValidTo.Split("T")[0]
- }
- }
- |
-
- @{
- var qrfrom = DateTime.Parse(card.QrValidFrom);
- var qrto = DateTime.Parse(card.QrValidTo);
- if (qrfrom > DateTime.Now) {
-
- @card.QrValidFrom.Split("T")[0]
-
- }
- else {
- @card.QrValidFrom.Split("T")[0]
- }
-
- if (qrto < DateTime.Now) {
-
- @card.QrValidTo.Split("T")[0]
-
- }
- else {
- @card.QrValidTo.Split("T")[0]
- }
- }
- |
-
- Refresh QR
- Delete
- |
-
- }
-
-
-
- Please refresh your BahnCard list in the mobile DB Navigator before clicking "Refresh QR". This will be fixed in a later release.
-
- Back
-
-
-
+
+
+
+ Card |
+ Number |
+ Traveller |
+ Card Validity |
+ QR Validity |
+ Actions |
+
+
+
+ @foreach (var card in Model.Cards) {
+
+ @card.CardInfo.TrimEnd('#') |
+ @card.CardNumber |
+ @card.Traveller |
+
+ @{
+ var from = DateTime.Parse(card.ValidFrom);
+ var to = DateTime.Parse(card.ValidTo);
+ if (from > DateTime.Now) {
+
+ @card.ValidFrom.Split("T")[0]
+
+ }
+ else {
+ @card.ValidFrom.Split("T")[0]
+ }
+
+ if (to < DateTime.Now) {
+
+ @card.ValidTo.Split("T")[0]
+
+ }
+ else {
+ @card.ValidTo.Split("T")[0]
+ }
+ }
+ |
+
+ @{
+ var qrfrom = DateTime.Parse(card.QrValidFrom);
+ var qrto = DateTime.Parse(card.QrValidTo);
+ if (qrfrom > DateTime.Now) {
+
+ @card.QrValidFrom.Split("T")[0]
+
+ }
+ else {
+ @card.QrValidFrom.Split("T")[0]
+ }
+
+ if (qrto < DateTime.Now) {
+
+ @card.QrValidTo.Split("T")[0]
+
+ }
+ else {
+ @card.QrValidTo.Split("T")[0]
+ }
+ }
+ |
+
+ Refresh QR
+ Delete
+ |
+
+ }
+
+
+
+ Please refresh your BahnCard list in the mobile DB Navigator before clicking "Refresh QR". This will be fixed in a later release.
+
+ Back
+
+
+
}
else if (Model.Cards.Any()) {
- foreach (var card in Model.Cards) {
-
- var from = DateTime.Parse(card.ValidFrom);
- var to = DateTime.Parse(card.ValidTo);
- var qrfrom = DateTime.Parse(card.QrValidFrom);
- var qrto = DateTime.Parse(card.QrValidTo);
+ 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(" DateTime.Now) {
-
- The above card is not valid yet.
-
- }
- if (to < DateTime.Now) {
-
- The above card is expired.
-
- }
- if (qrfrom > DateTime.Now && !(from > DateTime.Now)) {
-
- The above QR code is somehow not valid yet. Congrats, please open a bug report.
-
- }
- if (qrto < DateTime.Now) {
-
- }
-
- }
-
- Edit cards
+
+ var from = DateTime.Parse(card.ValidFrom);
+ var to = DateTime.Parse(card.ValidTo);
+ var qrfrom = DateTime.Parse(card.QrValidFrom);
+ var qrto = DateTime.Parse(card.QrValidTo);
+
+ if (from > DateTime.Now) {
+
+ The above card is not valid yet.
+
+ }
+ if (to < DateTime.Now) {
+
+ The above card is expired.
+
+ }
+ if (qrfrom > DateTime.Now && !(from > DateTime.Now)) {
+
+ The above QR code is somehow not valid yet. Congrats, please open a bug report.
+
+ }
+ if (qrto < DateTime.Now) {
+
+ }
+
+ }
+
+ Edit cards
}
@if (!Model.Cards.Any() || Request.Query["edit"] == "true") {
- Get Cards from bahn.de account
-
-
-}
\ No newline at end of file
+ Get Cards from bahn.de account
+
+
+}
diff --git a/bahnplan.web/Pages/Inspection.cshtml b/bahnplan.web/Pages/Inspection.cshtml
index da72717..323de50 100644
--- a/bahnplan.web/Pages/Inspection.cshtml
+++ b/bahnplan.web/Pages/Inspection.cshtml
@@ -2,30 +2,31 @@
@using Microsoft.AspNetCore.Http
@using Microsoft.AspNetCore.Http.Extensions
@using bahnplan.web.database
+@using System.Text
@model InspectionModel
@{
- ViewData["Title"] = "Inspection";
+ ViewData["Title"] = "Inspection";
- if (HttpContext.Session.GetString("authorized") != "true") {
- Response.Redirect($"/Login?&redir={Request.GetDisplayUrl().UrlEncode()}");
- return;
- }
+ if (HttpContext.Session.GetString("authorized") != "true") {
+ Response.Redirect($"/Login?&redir={Request.GetDisplayUrl().UrlEncode()}");
+ return;
+ }
- if (Model.Leg.UserId != int.Parse(HttpContext.Session.GetString("uid"))) {
- return;
- }
+ if (Model.Leg.UserId != int.Parse(HttpContext.Session.GetString("uid"))) {
+ return;
+ }
}
- Ticket for @Model.Leg.TrainType @Model.Leg.TrainNr from @Model.Leg.DepStation to @Model.Leg.ArrStation, starting @DateTime.Parse(Model.Leg.DepTime).ToString("yyyy-MM-dd HH:mm")
+ Ticket for @Model.Leg.TrainType @Model.Leg.TrainNr from @Model.Leg.DepStation to @Model.Leg.ArrStation, starting @DateTime.Parse(Model.Leg.DepTime).ToString("yyyy-MM-dd HH:mm")
@@ -33,102 +34,118 @@
@if (Model.Ticket.TicketInfo.Contains("BC 50")) {
- 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);
-
+ 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);
- var from = DateTime.Parse(card.ValidFrom);
- var to = DateTime.Parse(card.ValidTo);
- var qrfrom = DateTime.Parse(card.QrValidFrom);
- var qrto = DateTime.Parse(card.QrValidTo);
+ 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(" DateTime.Now) {
-
- The above card is not valid yet.
-
- }
- if (to < DateTime.Now) {
-
- The above card is expired.
-
- }
- if (qrfrom > DateTime.Now && !(from > DateTime.Now)) {
-
- The above QR code is somehow not valid yet. Congrats, please open a bug report.
-
- }
- if (qrto < DateTime.Now) {
-
- }
- }
- else {
-
- I would show your BahnCard but you haven't added a card matching the value and name of the ticket yet.
You can do that now.
-
- }
+
+
+ var from = DateTime.Parse(card.ValidFrom);
+ var to = DateTime.Parse(card.ValidTo);
+ var qrfrom = DateTime.Parse(card.QrValidFrom);
+ var qrto = DateTime.Parse(card.QrValidTo);
+
+ if (from > DateTime.Now) {
+
+ The above card is not valid yet.
+
+ }
+ if (to < DateTime.Now) {
+
+ The above card is expired.
+
+ }
+ if (qrfrom > DateTime.Now && !(from > DateTime.Now)) {
+
+ The above QR code is somehow not valid yet. Congrats, please open a bug report.
+
+ }
+ if (qrto < DateTime.Now) {
+
+ }
+ }
+ else {
+
+ I would show your BahnCard but you haven't added a card matching the value and name of the ticket yet.
You can do that now.
+
+ }
}
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);
-
+ 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);
- var from = DateTime.Parse(card.ValidFrom);
- var to = DateTime.Parse(card.ValidTo);
- var qrfrom = DateTime.Parse(card.QrValidFrom);
- var qrto = DateTime.Parse(card.QrValidTo);
+ 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(" DateTime.Now) {
-
- The above card is not valid yet.
-
- }
- if (to < DateTime.Now) {
-
- The above card is expired.
-
- }
- if (qrfrom > DateTime.Now && !(from > DateTime.Now)) {
-
- The above QR code is somehow not valid yet. Congrats, please open a bug report.
-
- }
- if (qrto < DateTime.Now) {
-
- }
- }
- else {
-
- I would show your BahnCard but you haven't added a card matching the value and name of the ticket yet.
You can do that now.
-
- }
-}
\ No newline at end of file
+
+
+ var from = DateTime.Parse(card.ValidFrom);
+ var to = DateTime.Parse(card.ValidTo);
+ var qrfrom = DateTime.Parse(card.QrValidFrom);
+ var qrto = DateTime.Parse(card.QrValidTo);
+
+ if (from > DateTime.Now) {
+
+ The above card is not valid yet.
+
+ }
+ if (to < DateTime.Now) {
+
+ The above card is expired.
+
+ }
+ if (qrfrom > DateTime.Now && !(from > DateTime.Now)) {
+
+ The above QR code is somehow not valid yet. Congrats, please open a bug report.
+
+ }
+ if (qrto < DateTime.Now) {
+
+ }
+ }
+ else {
+
+ I would show your BahnCard but you haven't added a card matching the value and name of the ticket yet.
You can do that now.
+
+ }
+}