示例#1
0
        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);
        }
示例#2
0
        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);
        }