Bricklayer.Client.Interface.LobbyWindow.FilterRooms C# (CSharp) Method

FilterRooms() private method

private FilterRooms ( ) : void
return void
        private void FilterRooms()
        {
            //Filter search results
            if (txtSearch.Text != searchStr && !string.IsNullOrWhiteSpace(txtSearch.Text))
            {
                for (int i = 0; i < RoomListCtrl.Items.Count; i++)
                {
                    if (!(RoomListCtrl.Items[i] as LobbyDataControl).Data.Name.ToLower().Contains(txtSearch.Text.ToLower()))
                    {
                        RoomListCtrl.Items.RemoveAt(i);
                        i--;
                    }
                }
            }
            //Filter by category
            if (cmbSort.ItemIndex == 0) //Online
                RoomListCtrl.Items = RoomListCtrl.Items.OrderByDescending(x => (x as LobbyDataControl).Data.Online).ToList();
            //RoomListCtrl.Items.Sort((x, y) => (x as LobbyDataControl).Data.Players.CompareTo((y as LobbyDataControl).Data.Players));
            else if (cmbSort.ItemIndex == 1)
                RoomListCtrl.Items = RoomListCtrl.Items.OrderByDescending(x => (x as LobbyDataControl).Data.Rating).ToList();
            else if (cmbSort.ItemIndex == 2)
                RoomListCtrl.Items = RoomListCtrl.Items.OrderByDescending(x => (x as LobbyDataControl).Data.Plays).ToList();
            else if (cmbSort.ItemIndex == 3)
                RoomListCtrl.Items.Shuffle();
        }