This repository has been archived on 2023-04-02. You can view files and clone it, but cannot push or open issues or pull requests.
trainav/bahnplan.web/Pages/Inspection.cshtml

108 lines
4.4 KiB
Plaintext

@page
@using Microsoft.AspNetCore.Http
@using bahnplan.web.database
@model InspectionModel
@{
ViewData["Title"] = "Inspection";
if (HttpContext.Session.GetString("authorized") != "true") {
Response.Redirect("/");
return;
}
if (Model.Ticket.UserId != int.Parse(HttpContext.Session.GetString("uid"))) {
return;
}
}
<p>
Ticket for <b>@Model.Leg.TrainType @Model.Leg.TrainNr</b> from <b>@Model.Leg.DepStation</b> to <b>@Model.Leg.ArrStation</b>, starting @DateTime.Parse(Model.Leg.DepTime).ToString("yyyy-MM-dd HH:mm")
</p>
<img src="@Model.Ticket.TicketQr" alt="Ticketcode"/>
<img src="@Model.Ticket.TicketSecCode" alt="Sichtmerkmal"/>
<br/>
<br/>
@Model.Ticket.TicketInfo
<br/>
<br/>
@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)) {
var card = db.Cards.First(p => p.Value == 50 && p.Traveller == Model.Ticket.Traveller);
<img src="@card.CardQr" alt="Ticketcode"/>
<img src="@card.CardSecCode" alt="Sichtmerkmal"/>
<img style="margin: -50px; height: 450px; transform: rotate(-90deg); position: relative; left: 130px" src='data:image/svg+xml;base64,@card.CardImage.Base64Encode()' alt="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) {
<div class="alert alert-info" role="alert">
The above card is not valid yet.
</div>
}
if (to < DateTime.Now) {
<div class="alert alert-warning" role="alert">
The above card is expired.
</div>
}
if (qrfrom > DateTime.Now && !(from > DateTime.Now)) {
<div class="alert alert-info" role="alert">
The above QR code is somehow not valid yet. Congrats, please open a bug report.
</div>
}
if (qrto < DateTime.Now) {
<div class="alert alert-warning" role="alert">
The above QR code is expired. Please refresh the card. <a href="/Cards?edit=true">You can do that now</a>.
</div>
}
}
else {
<div class="alert alert-warning" role="alert">
I would show your BahnCard but you haven't added a card matching the value and name of the ticket yet. <a href="/Cards">You can do that now</a>.
</div>
}
}
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)) {
var card = db.Cards.First(p => p.Value == 25 && p.Traveller == Model.Ticket.Traveller);
<img src="@card.CardQr" alt="Ticketcode"/>
<img src="@card.CardSecCode" alt="Sichtmerkmal"/>
<img style="margin: -50px; height: 450px; transform: rotate(-90deg); position: relative; left: 130px" src='data:image/svg+xml;base64,@card.CardImage.Base64Encode()' alt="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) {
<div class="alert alert-info" role="alert">
The above card is not valid yet.
</div>
}
if (to < DateTime.Now) {
<div class="alert alert-warning" role="alert">
The above card is expired.
</div>
}
if (qrfrom > DateTime.Now && !(from > DateTime.Now)) {
<div class="alert alert-info" role="alert">
The above QR code is somehow not valid yet. Congrats, please open a bug report.
</div>
}
if (qrto < DateTime.Now) {
<div class="alert alert-warning" role="alert">
The above QR code is expired. Please refresh the card. <a href="/Cards?edit=true">You can do that now</a>.
</div>
}
}
else {
<div class="alert alert-warning" role="alert">
I would show your BahnCard but you haven't added a card matching the value and name of the ticket yet. <a href="/Cards">You can do that now</a>.
</div>
}
}