diff --git a/ProjectLighthouse.Tests.GameApiTests/Unit/Activity/ActivityEventHandlerTests.cs b/ProjectLighthouse.Tests.GameApiTests/Unit/Activity/ActivityEventHandlerTests.cs index 6f08b8b4f..95d1ba05a 100644 --- a/ProjectLighthouse.Tests.GameApiTests/Unit/Activity/ActivityEventHandlerTests.cs +++ b/ProjectLighthouse.Tests.GameApiTests/Unit/Activity/ActivityEventHandlerTests.cs @@ -673,7 +673,7 @@ public async Task Slot_WithTeamPickChange_ShouldCreateLevelActivity() { SlotId = 1, CreatorId = 1, - TeamPick = true, + TeamPickTime = 1, }; eventHandler.OnEntityChanged(database, oldSlot, newSlot); diff --git a/ProjectLighthouse/Types/Activity/ActivityEntityEventHandler.cs b/ProjectLighthouse/Types/Activity/ActivityEntityEventHandler.cs index 2342c566b..46f5ebb21 100644 --- a/ProjectLighthouse/Types/Activity/ActivityEntityEventHandler.cs +++ b/ProjectLighthouse/Types/Activity/ActivityEntityEventHandler.cs @@ -245,10 +245,13 @@ public void OnEntityChanged(DatabaseContext database, T origEntity, T current { if (origEntity is not SlotEntity oldSlotEntity) break; - switch (oldSlotEntity.TeamPick) + bool oldIsTeamPick = oldSlotEntity.TeamPickTime != 0; + bool newIsTeamPick = slotEntity.TeamPickTime != 0; + + switch (oldIsTeamPick) { // When a level is team picked - case false when slotEntity.TeamPick: + case false when newIsTeamPick: activity = new LevelActivityEntity { Type = EventType.MMPickLevel, @@ -257,7 +260,7 @@ public void OnEntityChanged(DatabaseContext database, T origEntity, T current }; break; // When a level has its team pick removed then remove the corresponding activity - case true when !slotEntity.TeamPick: + case true when !newIsTeamPick: database.Activities.OfType() .Where(a => a.Type == EventType.MMPickLevel) .Where(a => a.SlotId == slotEntity.SlotId)