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") { - - - - - - - - - - - - - @foreach (var card in Model.Cards) { - - - - - - - - - } - -
CardNumberTravellerCard ValidityQR ValidityActions
@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 -
-
-
+ + + + + + + + + + + + + @foreach (var card in Model.Cards) { + + + + + + + + + } + +
CardNumberTravellerCard ValidityQR ValidityActions
@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) { -
-
- Ticketcode -
-
- Sichtmerkmal -
-
-
- Bahncardimage -
-
-
- 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) { - - } - if (to < DateTime.Now) { - - } - if (qrfrom > DateTime.Now && !(from > DateTime.Now)) { - - } - if (qrto < DateTime.Now) { - - } -
- } -
- Edit cards +
+
+ Ticketcode +
+
+ Sichtmerkmal +
+
+
+ Bahncardimage +
+
+
+ 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) { + + } + if (to < DateTime.Now) { + + } + if (qrfrom > DateTime.Now && !(from > DateTime.Now)) { + + } + if (qrto < DateTime.Now) { + + } +
+ } +
+ Edit cards } @if (!Model.Cards.Any() || Request.Query["edit"] == "true") { -

Get Cards from bahn.de account

-
-
-
- -
-
- -
-
- -
- @Html.AntiForgeryToken() - -
-} \ No newline at end of file +

Get Cards from bahn.de account

+
+
+
+ +
+
+ +
+
+ +
+ @Html.AntiForgeryToken() + +
+} 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")

-
- Ticketcode -
-
- Sichtmerkmal -
+
+ Ticketcode +
+
+ Sichtmerkmal +


@@ -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); -
-
- Ticketcode -
-
- Sichtmerkmal -
-
-
- Bahncardimage -
-
-
+ 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) { - - } - if (to < DateTime.Now) { - - } - if (qrfrom > DateTime.Now && !(from > DateTime.Now)) { - - } - if (qrto < DateTime.Now) { - - } - } - else { - - } +
+
+ Ticketcode +
+
+ Sichtmerkmal +
+
+
+ Bahncardimage +
+
+
+ + 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) { + + } + if (to < DateTime.Now) { + + } + if (qrfrom > DateTime.Now && !(from > DateTime.Now)) { + + } + if (qrto < DateTime.Now) { + + } + } + else { + + } } 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); -
-
- Ticketcode -
-
- Sichtmerkmal -
-
-
- Bahncardimage -
-
-
+ 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) { - - } - if (to < DateTime.Now) { - - } - if (qrfrom > DateTime.Now && !(from > DateTime.Now)) { - - } - if (qrto < DateTime.Now) { - - } - } - else { - - } -} \ No newline at end of file +
+
+ Ticketcode +
+
+ Sichtmerkmal +
+
+
+ Bahncardimage +
+
+
+ + 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) { + + } + if (to < DateTime.Now) { + + } + if (qrfrom > DateTime.Now && !(from > DateTime.Now)) { + + } + if (qrto < DateTime.Now) { + + } + } + else { + + } +}