private void PromoteOrDemote(string character, bool isPromote, string channelId = null) { ICharacter target; lock (chatStateLocker) target = CharacterManager.Find(character); string title = null; if (channelId != null) { GeneralChannelModel channel; lock (chatStateLocker) channel = ChatModel.CurrentChannels.FirstByIdOrNull(channelId); if (channel != null) { title = channel.Title; if (isPromote) { channel.CharacterManager.Add(character, ListKind.Moderator); } else { channel.CharacterManager.Remove(character, ListKind.Moderator); } } } if (target == null) { return; } var updateArgs = new PromoteDemoteEventArgs { TargetChannelId = channelId, TargetChannel = title, IsPromote = isPromote }; Events.NewCharacterUpdate(target, updateArgs); }
private void PromoteOrDemote(string character, bool isPromote, string channelId = null) { var target = CharacterManager.Find(character); string title = null; if (channelId != null) { var channel = ChatModel.CurrentChannels.FirstByIdOrNull(channelId); if (channel != null) { title = channel.Title; if (isPromote) channel.CharacterManager.Add(character, ListKind.Moderator); else channel.CharacterManager.Remove(character, ListKind.Moderator); } } if (target == null) return; var updateArgs = new PromoteDemoteEventArgs { TargetChannelId = channelId, TargetChannel = title, IsPromote = isPromote }; Events.NewCharacterUpdate(target, updateArgs); }