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)); }