private void ApplyFilter(string filter)
 {
     DisplayedBoardGames.Clear();
     foreach (var boardGame in BoardGames.Select(x => x).Where(x => x.Name.IndexOf(filter, StringComparison.InvariantCultureIgnoreCase) >= 0))
     {
         DisplayedBoardGames.Add(boardGame);
     }
 }
        public void AddBoardGame(string name)
        {
            var boardGame = new BoardGame {
                Name = name, Score = 0, TimesPlayed = 0
            };

            BoardGames.Add(boardGame);
            DisplayedBoardGames.Add(boardGame);
        }
        public void PlayAndRateBoardGame(string name, int score)
        {
            foreach (var game in BoardGames)
            {
                if (game.Name.Equals(name))
                {
                    game.Score = score;
                    break;
                }
            }
            var displayedNames = DisplayedBoardGames.Select(x => x.Name).ToArray();

            ApplyFilter(CurrentFilter);
        }
 public void FilterBoardGames(string filter, bool showAll)
 {
     CurrentFilter = showAll ? "" : filter;
     if (showAll)
     {
         DisplayedBoardGames.Clear();
         foreach (var boardGame in BoardGames)
         {
             DisplayedBoardGames.Add(boardGame);
         }
         return;
     }
     ApplyFilter(filter);
 }