private static void GetAnimeGroupsRecursive(VM_AnimeGroup_User grp, ref List <VM_AnimeGroup_User> groupList) { // get the child groups for this group groupList.AddRange(grp.SubGroups); foreach (VM_AnimeGroup_User subGroup in grp.SubGroups) { GetAnimeGroupsRecursive(subGroup, ref groupList); } }
public bool EvaluateGroupFilter(VM_AnimeGroup_User grp) { if (IsBeingEdited && collectionChanged) { Populate(VM_ShokoServer.Instance.ShokoServices.EvaluateGroupFilter(this)); collectionChanged = false; } if (Groups == null || !Groups.ContainsKey(VM_ShokoServer.Instance.CurrentUser.JMMUserID)) { return(false); } if (grp.AnimeGroupID != 0) { return(Groups[VM_ShokoServer.Instance.CurrentUser.JMMUserID].Contains(grp.AnimeGroupID)); } return(false); }
public bool EvaluateGroup(VM_AnimeGroup_User grp) { return(EvaluateTags(grp.Stat_AllTags)); }
private List <VM_AnimeGroup_User> RecursiveGetGroups(ObservableListDictionary <int, VM_AnimeGroup_User> groups, VM_AnimeGroup_User initialgrp) { List <VM_AnimeGroup_User> ls = groups.Values.Where(a => a.AnimeGroupParentID.HasValue && a.AnimeGroupParentID.Value == initialgrp.AnimeGroupID).ToList(); foreach (VM_AnimeGroup_User v in ls.ToList()) { ls.AddRange(RecursiveGetGroups(groups, v)); } ls.Add(initialgrp); return(ls); }