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);
            }
        }
Esempio n. 2
0
 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);
 }
Esempio n. 3
0
 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);
        }