Exemple #1
0
        public void Filter(FilterCriteria criteria)
        {
            roomFlow.Children.ForEach(r =>
            {
                if (criteria == null)
                {
                    r.MatchingFilter = true;
                }
                else
                {
                    bool matchingFilter = true;

                    matchingFilter &= r.Room.Playlist.Count == 0 || r.Room.Playlist.Any(i => i.Ruleset.Value.Equals(criteria.Ruleset));

                    if (!string.IsNullOrEmpty(criteria.SearchString))
                    {
                        matchingFilter &= r.FilterTerms.Any(term => term.Contains(criteria.SearchString, StringComparison.InvariantCultureIgnoreCase));
                    }

                    r.MatchingFilter = matchingFilter;
                }
            });
        }
Exemple #2
0
        private void applyFilterCriteria(FilterCriteria criteria)
        {
            roomFlow.Children.ForEach(r =>
            {
                if (criteria == null)
                {
                    r.MatchingFilter = true;
                }
                else
                {
                    bool matchingFilter = true;

                    matchingFilter &= criteria.Ruleset == null || r.Room.PlaylistItemStats.Value?.RulesetIDs.Any(id => id == criteria.Ruleset.OnlineID) != false;

                    if (!string.IsNullOrEmpty(criteria.SearchString))
                    {
                        matchingFilter &= r.FilterTerms.Any(term => term.Contains(criteria.SearchString, StringComparison.InvariantCultureIgnoreCase));
                    }

                    r.MatchingFilter = matchingFilter;
                }
            });
        }