/// <summary> /// Возвращает пользователей из комнаты. /// </summary> /// <param name="name"></param> /// <returns></returns> public List <User> GetRoomUsers(ServerGuard server, string name) { Room room; if (!server.Rooms.TryGetValue(name, out room)) { throw new ArgumentException("This room does't exist"); } return(GetRoomUsers(server, room)); }
public List <User> GetRoomUsers(ServerGuard server, Room room) { return(room.Users .Select(n => { User user; server.Users.TryGetValue(n, out user); return new { Nick = n, User = user }; }) .Where(g => { if (g.User == null) { ServerModel.Logger.WriteWarning("User not found: {0}", g.Nick); return false; } return true; }) .Select(g => g.User) .ToList()); }