Exemplo n.º 1
0
        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);
                    }
                }
            }
        }
Exemplo n.º 2
0
        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;
            }
        }