Example #1
0
        public void Update(GroupDescription description)
        {
            Name        = description.Name;
            DisplayName = description.DisplayName;
            Joined      = description.Member ?? false;

            var newMembers = new List <IUser>(from name in description.MemberNames select client.GetUser(name));

            if (members != null)
            {
                var oldMembers = new List <IUser>(members);
                foreach (var member in newMembers)
                {
                    if (!oldMembers.Contains(member))
                    {
                        members.Add(member);
                        UserAdded.SafeInvoke(this, new UserEventArgs(member));
                    }
                }
                foreach (var member in oldMembers)
                {
                    if (!newMembers.Contains(member))
                    {
                        members.Remove(member);
                        UserRemoved.SafeInvoke(this, new UserEventArgs(member));
                    }
                }
            }
            else
            {
                members = newMembers;
            }

            Changed.SafeInvoke(this, new EventArgs());
        }
Example #2
0
        public void Update(GroupDescription description)
        {
            Name = description.Name;
            DisplayName = description.DisplayName;
            Joined = description.Member ?? false;

            var newMembers = new List<IUser>(from name in description.MemberNames select client.GetUser(name));
            if (members != null)
            {
                var oldMembers = new List<IUser>(members);
                foreach (var member in newMembers)
                {
                    if (!oldMembers.Contains(member))
                    {
                        members.Add(member);
                        UserAdded.SafeInvoke(this, new UserEventArgs(member));
                    }
                }
                foreach (var member in oldMembers)
                {
                    if (!newMembers.Contains(member))
                    {
                        members.Remove(member);
                        UserRemoved.SafeInvoke(this, new UserEventArgs(member));
                    }
                }
            }
            else
                members = newMembers;

            Changed.SafeInvoke(this, new EventArgs());
        }
Example #3
0
 public Group(ChatClient client, GroupDescription description)
 {
     this.client = client;
     Update(description);
     client.GroupChat += client_GroupChat;
 }
Example #4
0
 public Group(ChatClient client, GroupDescription description)
 {
     this.client = client;
     Update(description);
     client.GroupChat += client_GroupChat;
 }