Add more information to cases

This commit is contained in:
jvyden 2022-06-10 21:34:37 -04:00
commit dc5a06698d
No known key found for this signature in database
GPG key ID: 18BCF2BE0262B278
3 changed files with 33 additions and 5 deletions

View file

@ -23,7 +23,7 @@ public class CasePage : BaseLayout
{ {
CaseId = 1, CaseId = 1,
CaseCreated = DateTime.Now, CaseCreated = DateTime.Now,
CaseExpires = new DateTime(2023, 11, 17), CaseExpires = new DateTime(2011, 11, 17),
CaseCreatorId = user.UserId, CaseCreatorId = user.UserId,
CaseCreator = user, CaseCreator = user,
CaseDescription = "Being a dumbass", CaseDescription = "Being a dumbass",
@ -31,6 +31,18 @@ public class CasePage : BaseLayout
AffectedId = user.UserId, AffectedId = user.UserId,
}); });
this.Cases.Add(new ModerationCase
{
CaseId = 2,
CaseCreated = DateTime.Now,
CaseExpires = new DateTime(2023, 11, 17),
CaseCreatorId = user.UserId,
CaseCreator = user,
CaseDescription = "Being too cool",
CaseType = CaseType.UserSilence,
AffectedId = user.UserId,
});
return this.Page(); return this.Page();
} }
} }

View file

@ -7,18 +7,33 @@
@{ @{
Database database = new(); Database database = new();
string color = Model.Expired ? "red" : "yellow";
} }
<div class="ui yellow segment"> <div class="ui @color segment">
<h2>Case #@Model.CaseId: @Model.CaseType</h2> <h2>Case #@Model.CaseId: @Model.CaseType</h2>
<p><i>Created by <strong>@Model.CaseCreator?.Username</strong></i></p> @if (Model.Expired)
<p><strong>Description:</strong> @Model.CaseDescription</p> {
<h3 class="ui red header">
This case expired on @Model.CaseExpires!.Value.ToString("MM/dd/yyyy @ h:mm tt").
</h3>
}
<span>
Case created by <a href="/user/@Model.CaseCreator!.UserId">@Model.CaseCreator.Username</a>
on @Model.CaseCreated.ToString("MM/dd/yyyy @ h:mm tt")
</span><br>
<span>
<strong>Description:</strong> @Model.CaseDescription
</span><br>
@if (Model.CaseType.AffectsLevel()) @if (Model.CaseType.AffectsLevel())
{ {
Slot slot = await Model.GetSlotAsync(database); Slot slot = await Model.GetSlotAsync(database);
<p><strong>Affected level:</strong> <a href="/slot/@slot.SlotId">@slot.Name</a></p> <p><strong>Affected level:</strong> <a href="/slot/@slot.SlotId">@slot.Name</a></p>
} }
@if (Model.CaseType.AffectsUser()) else if (Model.CaseType.AffectsUser())
{ {
User user = await Model.GetUserAsync(database); User user = await Model.GetUserAsync(database);
<p><strong>Affected user:</strong> <a href="/user/@user.UserId">@user.Username</a></p> <p><strong>Affected user:</strong> <a href="/user/@user.UserId">@user.Username</a></p>

View file

@ -22,6 +22,7 @@ public class ModerationCase
public DateTime CaseCreated { get; set; } public DateTime CaseCreated { get; set; }
public DateTime? CaseExpires { get; set; } public DateTime? CaseExpires { get; set; }
public bool Expired => this.CaseExpires != null && this.CaseExpires < DateTime.Now;
public int CaseCreatorId { get; set; } public int CaseCreatorId { get; set; }