@page
@using global::c3stream.DataModels
@model InfoModel
@{
ViewData["Title"] = "Info";
}
@{
if (string.IsNullOrWhiteSpace(Request.Query["guid"]) || c3stream.GetEventByGuid(Request.Query["guid"]) == null) {
Response.Redirect("/");
return;
}
var cookie = c3stream.UpdateCookie(Request, Response, $"/Info?guid={Request.Query["guid"]}");
await using var db = new Database.DbConn();
var talk = c3stream.GetEventByGuid(Request.Query["guid"]);
var state = db.States.FirstOrDefault(p => p.TalkId == Request.Query["guid"].ToString() && p.UserId == cookie)?.State;
if (talk == null) {
Response.Redirect("/");
return;
}
if (state == null) {
state = "unwatched";
}
var title = talk.Title;
var speakers = talk.Persons.Any() ? talk.Persons.Aggregate((s, s1) => $"{s}, {s1}") : "
@Html.Raw(description.Replace("\n", " ", "").Replace("@title - @speakers
}
else if (isMarked) {
@title - @speakers
}
else {
@title - @speakers
}
@eventName - @category - @talk.Date?.Date.ToShortDateString()
").Replace("
https://@Request.Host.Value/Info?guid=@Request.Query["guid"]