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()); }
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()); }
public Group(ChatClient client, GroupDescription description) { this.client = client; Update(description); client.GroupChat += client_GroupChat; }
public Group(ChatClient client, GroupDescription description) { this.client = client; Update(description); client.GroupChat += client_GroupChat; }