using System.Collections.Generic; using System.Linq; using API.Entities; using API.Parser; using API.Services; using API.Services.Tasks.Scanner; namespace API.Extensions { public static class SeriesExtensions { /// /// Checks against all the name variables of the Series if it matches anything in the list. /// /// /// /// public static bool NameInList(this Series series, IEnumerable list) { return list.Any(name => Parser.Parser.Normalize(name) == series.NormalizedName || Parser.Parser.Normalize(name) == Parser.Parser.Normalize(series.Name) || name == series.Name || name == series.LocalizedName || name == series.OriginalName || Parser.Parser.Normalize(name) == Parser.Parser.Normalize(series.OriginalName)); } /// /// Checks against all the name variables of the Series if it matches anything in the list. Includes a check against the Format of the Series /// /// /// /// public static bool NameInList(this Series series, IEnumerable list) { return list.Any(name => Parser.Parser.Normalize(name.Name) == series.NormalizedName || Parser.Parser.Normalize(name.Name) == Parser.Parser.Normalize(series.Name) || name.Name == series.Name || name.Name == series.LocalizedName || name.Name == series.OriginalName || Parser.Parser.Normalize(name.Name) == Parser.Parser.Normalize(series.OriginalName) && series.Format == name.Format); } /// /// Checks against all the name variables of the Series if it matches the /// /// /// /// public static bool NameInParserInfo(this Series series, ParserInfo info) { if (info == null) return false; return Parser.Parser.Normalize(info.Series) == series.NormalizedName || Parser.Parser.Normalize(info.Series) == Parser.Parser.Normalize(series.Name) || info.Series == series.Name || info.Series == series.LocalizedName || info.Series == series.OriginalName || Parser.Parser.Normalize(info.Series) == Parser.Parser.Normalize(series.OriginalName); } } }