From 643b00512a79fb385b8cdcc6c046dae7441f4d9c Mon Sep 17 00:00:00 2001 From: jvyden Date: Sat, 20 Aug 2022 19:18:40 -0400 Subject: [PATCH] Fix error when slot on case does not exist --- .../Pages/Partials/ModerationCasePartial.cshtml | 14 ++++++++++---- ProjectLighthouse/Administration/ModerationCase.cs | 8 ++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/ProjectLighthouse.Servers.Website/Pages/Partials/ModerationCasePartial.cshtml b/ProjectLighthouse.Servers.Website/Pages/Partials/ModerationCasePartial.cshtml index b028ed8a..b34d1b95 100644 --- a/ProjectLighthouse.Servers.Website/Pages/Partials/ModerationCasePartial.cshtml +++ b/ProjectLighthouse.Servers.Website/Pages/Partials/ModerationCasePartial.cshtml @@ -40,13 +40,19 @@ @if (Model.Type.AffectsLevel()) { - Slot slot = await Model.GetSlotAsync(database); -

Affected level: @slot.Name

+ Slot? slot = await Model.GetSlotAsync(database); + if (slot != null) + { +

Affected level: @slot.Name

+ } } else if (Model.Type.AffectsUser()) { - User user = await Model.GetUserAsync(database); -

Affected user: @user.Username

+ User? user = await Model.GetUserAsync(database); + if (user != null) + { +

Affected user: @user.Username

+ } }

Reason

diff --git a/ProjectLighthouse/Administration/ModerationCase.cs b/ProjectLighthouse/Administration/ModerationCase.cs index ff6981fe..d89d26cd 100644 --- a/ProjectLighthouse/Administration/ModerationCase.cs +++ b/ProjectLighthouse/Administration/ModerationCase.cs @@ -42,16 +42,16 @@ public class ModerationCase public int AffectedId { get; set; } #region Get affected id result - public Task GetUserAsync(Database database) + public Task GetUserAsync(Database database) { Debug.Assert(this.Type.AffectsUser()); - return database.Users.FirstOrDefaultAsync(u => u.UserId == this.AffectedId)!; + return database.Users.FirstOrDefaultAsync(u => u.UserId == this.AffectedId); } - public Task GetSlotAsync(Database database) + public Task GetSlotAsync(Database database) { Debug.Assert(this.Type.AffectsLevel()); - return database.Slots.FirstOrDefaultAsync(u => u.SlotId == this.AffectedId)!; + return database.Slots.FirstOrDefaultAsync(u => u.SlotId == this.AffectedId); } #endregion