public ICollection <string> GetMergedList() { //TODO: einstellung ob alle oder nur freunde GreetType gt = GreetType.All; IEnumerable <string> greetUserList = new List <string>(); switch (gt) { case GreetType.All: // Alle aus dem Chat, die noch nicht gegrüßt wurden greetUserList = UserList.Where(u => !greetedList.Contains(u)).OrderBy(u => u); break; case GreetType.Friends: // Nur Freunde aus dem Chat, die noch nicht gegrüßt wurden greetUserList = UserList.Where(u => FriendList.Contains(u) && !greetedList.Contains(u)); break; } // Emote davor setzen //TODO: bei Freunden gesondertes Emote verwenden, wenn vorhanden ICollection <string> greetList = new List <string>(); foreach (string user in greetUserList) { string emote = standardEmote; if (FriendList.Contains(user)) { string friendEmote = UserAdmin.GetFriendEmote(user); if (!string.IsNullOrWhiteSpace(friendEmote)) { emote = friendEmote; } } greetList.Add(string.Format("{0} {1}", emote, user)); } ICollection <string> result = StringUtils.MergeByTrimSize(greetList, 500); // Gegrüßte der Gegrüßtenliste hinzufügen greetUserList.ToList().ForEach(g => GreetedList.Add(g)); return(result); }