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/trainav.web/Pages/Delete.cshtml

52 lines
1.5 KiB
Plaintext

@page
@using Microsoft.AspNetCore.Http
@using Microsoft.AspNetCore.Http.Extensions
@using trainav.web.database
@using trainav.web.Utils
@model DeleteModel
@{
ViewData["Title"] = "Home";
if (Request.Query.ContainsKey("confirm") && Request.Query["confirm"] == "true") {
Layout = null;
if (Request.Query.ContainsKey("redir")) {
Response.Redirect(Request.Query["redir"]);
}
else {
Response.Redirect("/");
}
return;
}
<h3>Are you sure?</h3>
<p>
You are attempting to delete
@{
await using var db = new Database.DbConn();
switch (Request.Query["item"]) {
case "trip": {
var trip = db.Trips.First(p => p.TripId == int.Parse(Request.Query["id"]));
if (trip.UserId != Model.AuthorizedUser.UserId) {
return;
}
var legs = db.Legs.Where(p => p.TripId == int.Parse(Request.Query["id"])).OrderBy(p => p.DepTime).ToList();
<span>
the trip from <b>@legs.First().DepStation</b> to <b>@legs.Last().ArrStation</b>, starting <i>@legs.First().DepTime</i>
</span>
break;
}
case "leg": {
Response.Redirect($"/Delete?item={Request.Query["item"]}&id={Request.Query["id"]}&confirm=true&redir={Request.Query["redir"].ToString().UrlEncode()}");
break;
}
}
}
</p>
<a href="@Request.Query["redir"]" class="btn btn-sm btn-secondary">Cancel</a>
<a href="/Delete?item=@Request.Query["item"]&id=@Request.Query["id"]&confirm=true&redir=@Request.Query["redir"].ToString().UrlEncode()" class="btn btn-sm btn-danger">Confirm</a>
}