diff --git a/Refresh.Database/GameDatabaseContext.Users.cs b/Refresh.Database/GameDatabaseContext.Users.cs index c9de39e2..0665c396 100644 --- a/Refresh.Database/GameDatabaseContext.Users.cs +++ b/Refresh.Database/GameDatabaseContext.Users.cs @@ -267,16 +267,16 @@ public int GetActiveUserCount() public void SetUserRole(GameUser user, GameUserRole role) { if(role == GameUserRole.Banned) throw new InvalidOperationException($"Cannot ban a user with this method. Please use {nameof(this.BanUser)}()."); - this.Write(() => + + if (user.Role is GameUserRole.Banned or GameUserRole.Restricted) { - if (user.Role is GameUserRole.Banned or GameUserRole.Restricted) - { - user.BanReason = null; - user.BanExpiryDate = null; - }; - - user.Role = role; - }); + user.BanReason = null; + user.BanExpiryDate = null; + }; + + user.Role = role; + this.GameUsers.Update(user); + this.SaveChanges(); } private void PunishUser(GameUser user, string reason, DateTimeOffset expiryDate, GameUserRole role)