public void RefreshFilter() { FilteredBeers.Clear(); var beers = Beers .OrderBy(X => X.Beer.BreweryName) //.ThenBy(X => X.Beer.SessionNumber) .ThenBy(X => X.Beer.BeerName); foreach (var beer in beers) { if (String.IsNullOrWhiteSpace(SearchText)) { FilteredBeers.Add(beer); } else { var split = SearchText.Split(new[] { ' ' }); if (split.All(X => beer.Beer.SearchHaystack.ToLower().Contains(X.ToLower()))) // TODO: Add a Contains extension method that suipports OrdinalIgnoreCase. { FilteredBeers.Add(beer); } } } }
public void SetOrder(BeerSortOrder inSortOrder) { switch (inSortOrder) { case BeerSortOrder.AZ: Beers = new ObservableCollection <BeerViewModel>(Beers .OrderBy(X => X.Beer.BreweryName) .ThenBy(X => X.Beer.BeerName)); break; case BeerSortOrder.Fav: Beers = new ObservableCollection <BeerViewModel>(Beers .OrderByDescending(X => X.Beer.MetaData.IsFavorited) .ThenBy(X => X.Beer.BreweryName) .ThenBy(X => X.Beer.BeerName)); break; } }