2020-02-09 02:35:16 +00:00
|
|
|
using System.Collections.Generic;
|
2017-02-21 12:07:54 +00:00
|
|
|
using System.Linq;
|
2015-07-28 23:10:04 +00:00
|
|
|
|
2018-03-10 08:05:56 +00:00
|
|
|
namespace Jackett.Common.Models
|
2015-07-28 23:10:04 +00:00
|
|
|
{
|
2015-08-12 17:31:59 +00:00
|
|
|
public static partial class TorznabCatType
|
2015-07-28 23:10:04 +00:00
|
|
|
{
|
|
|
|
|
2017-02-21 12:07:54 +00:00
|
|
|
public static bool QueryContainsParentCategory(int[] queryCats, ICollection<int> releaseCats)
|
2015-07-28 23:10:04 +00:00
|
|
|
{
|
2020-02-25 16:08:03 +00:00
|
|
|
//return (from releaseCat in releaseCats
|
|
|
|
// select AllCats.FirstOrDefault(c => c.ID == releaseCat)
|
|
|
|
// into cat
|
|
|
|
// where cat != null && queryCats != null
|
|
|
|
// select cat.SubCategories.Any(c => queryCats.Contains(c.ID)))
|
|
|
|
// .FirstOrDefault();
|
|
|
|
// Is equal to:
|
|
|
|
|
2017-02-21 12:07:54 +00:00
|
|
|
foreach (var releaseCat in releaseCats)
|
2015-07-28 23:10:04 +00:00
|
|
|
{
|
2017-02-21 12:07:54 +00:00
|
|
|
var cat = AllCats.FirstOrDefault(c => c.ID == releaseCat);
|
|
|
|
if (cat != null && queryCats != null)
|
|
|
|
{
|
|
|
|
return cat.SubCategories.Any(c => queryCats.Contains(c.ID));
|
2017-04-15 08:45:10 +00:00
|
|
|
}
|
2015-07-28 23:10:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
2020-02-25 16:08:03 +00:00
|
|
|
public static string GetCatDesc(int newznabcat) =>
|
|
|
|
AllCats.FirstOrDefault(c => c.ID == newznabcat)?.Name
|
|
|
|
?? string.Empty;
|
2016-10-27 07:30:03 +00:00
|
|
|
|
2020-02-25 16:08:03 +00:00
|
|
|
public static string NormalizeCatName(string name) => name.Replace(" ", "").ToLower();
|
2016-10-27 07:30:03 +00:00
|
|
|
|
2020-02-25 16:08:03 +00:00
|
|
|
public static TorznabCategory GetCatByName(string name) => AllCats.FirstOrDefault(c => NormalizeCatName(c.Name) == NormalizeCatName(name));
|
2015-07-28 23:10:04 +00:00
|
|
|
}
|
|
|
|
}
|