public static bool EvaluateGroupFilter(VM_GroupFilter gf, VM_AnimeGroup_User grp) { return(gf.EvaluateGroupFilter(grp)); }
public static bool EvaluateGroupFilter(VM_GroupFilter gf, VM_AnimeSeries_User ser) { return(gf.EvaluateGroupFilter(ser)); }
private List <VM_AnimeSeries_User> GetSeriesForGroupFilter() { List <VM_AnimeSeries_User> serList = new List <VM_AnimeSeries_User>(); try { if (LevelType != RandomSeriesEpisodeLevel.GroupFilter) { return(serList); } VM_GroupFilter gf = LevelObject as VM_GroupFilter; if (gf == null) { return(serList); } foreach (VM_AnimeGroup_User grp in VM_MainListHelper.Instance.AllGroupsDictionary.Values) { // ignore sub groups if (grp.AnimeGroupParentID.HasValue) { continue; } foreach (VM_AnimeSeries_User ser in grp.AllAnimeSeries) { if (gf.EvaluateGroupFilter(ser)) { // tags if (!string.IsNullOrEmpty(SelectedTags)) { string filterParm = SelectedTags.Trim(); string[] cats = filterParm.Split(','); bool foundCat = false; if (cboCatFilter.SelectedIndex == 1) { foundCat = true; // all } foreach (string cat in cats) { if (cat.Trim().Length == 0) { continue; } if (cat.Trim() == ",") { continue; } bool fnd = ser.AllTags.Contains(cat, StringComparer.InvariantCultureIgnoreCase); if (cboCatFilter.SelectedIndex == 0) // any { if (fnd) { foundCat = true; break; } } else //all { if (!fnd) { foundCat = false; break; } } } if (!foundCat) { continue; } } serList.Add(ser); } } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } return(serList); }