public static bool EvaluateAnimeTextSearch(CL_AniDB_AnimeDetailed anime, string filterText, SeriesSearchType searchType = SeriesSearchType.TitleOnly)
        {
            filterText = filterText.Trim();
            if (string.IsNullOrEmpty(filterText))
            {
                return(true);
            }

            if (anime == null)
            {
                return(false);
            }

            // search the romaji name, english names etc from anidb
            if (anime.AnimeTitles.Any(a =>
                                      (a.Language.Equals("en") || a.Language.Equals("x-jat") ||
                                       a.Language.Equals(VM_ShokoServer.Instance.LanguagePreference)) && a.Title.FuzzyMatches(filterText)))
            {
                return(true);
            }

            // check the tags
            if (searchType == SeriesSearchType.Everything && anime.Tags.Select(a => a.TagName).Any(a => a.FuzzyMatches(filterText)))
            {
                return(true);
            }

            return(false);
        }
        public static bool EvaluateAnimeTextSearch(CL_AniDB_AnimeDetailed anime, string filterText, SeriesSearchType searchType)
        {
            if (string.IsNullOrEmpty(filterText) || anime == null)
            {
                return(true);
            }

            // search the romaji name, english names etc from anidb
            if (anime.AnimeTitles.Any(a =>
                                      (a.Language.Equals("en") || a.Language.Equals("x-jat") ||
                                       a.Language.Equals(VM_ShokoServer.Instance.LanguagePreference)) && a.Title.Contains(filterText)))
            {
                return(true);
            }

            foreach (string title in anime.AnimeTitles.Where(a =>
                                                             a.Language.Equals("en") || a.Language.Equals("x-jat") ||
                                                             a.Language.Equals(VM_ShokoServer.Instance.LanguagePreference)).Select(a => a.Title))
            {
                if (string.IsNullOrEmpty(title))
                {
                    continue;
                }
                if (!Misc.FuzzyMatches(title, filterText))
                {
                    continue;
                }
                return(true);
            }

            if (searchType == SeriesSearchType.Everything)
            {
                // check the tags
                if (anime.Tags.Select(a => a.TagName).Contains(filterText, StringComparer.InvariantCultureIgnoreCase))
                {
                    return(true);
                }
            }

            return(false);
        }
 public static bool EvaluateAnimeTextSearch(CL_AniDB_AnimeDetailed anime, string filterText)
 {
     return(EvaluateAnimeTextSearch(anime, filterText, SeriesSearchType.Everything));
 }