Ejemplo n.º 1
0
        public void RemoveFavoriteTag(FavoriteTag tag)
        {
            var      favoriteTags = TagGroups[3];
            TagGroup thisNode     = favoriteTags.Items.Cast <TagGroup>().First(node => node.Name.Equals(tag.Tag));

            favoriteTags.Items.Remove(thisNode);
            SetHeader(thisNode);
        }
Ejemplo n.º 2
0
        public void RemoveTag(MangaInfo item, string tag)
        {
            var      userGroup = TagGroups[1];
            TagGroup thisNode  = userGroup.Items.Cast <TagGroup>().First(node => node.Name.Equals(tag));

            thisNode.Items.Remove(item);
            SetHeader(thisNode);
            //todo remove node if empty
        }
Ejemplo n.º 3
0
        private static TagGroup GetNodeForFavoriteTags()
        {
            var parentNode = new TagGroup {
                Name = "Favorite Tags"
            };

            foreach (var favoriteTag in LocalDatabase.FavoriteTags)
            {
                parentNode.Items.Add(CreateNodeForFavoriteTag(favoriteTag));
            }
            SetHeader(parentNode);
            return(parentNode);
        }
Ejemplo n.º 4
0
        public void AddTag(MangaInfo item, string tag)
        {
            var      userGroup = TagGroups[1];
            TagGroup thisNode  = userGroup.Items.Cast <TagGroup>().FirstOrDefault(node => node.Name.Equals(tag));

            if (thisNode == null)
            {
                thisNode = new TagGroup
                {
                    Name = tag
                };
                userGroup.Items.Add(thisNode);
            }
            thisNode.Items.Add(item);
            SetHeader(thisNode);
        }
Ejemplo n.º 5
0
        private static TagGroup CreateNodeForFavoriteTag(FavoriteTag favoriteTag)
        {
            var subItem = new TagGroup {
                Name = favoriteTag.Tag
            };
            var autoItems = LocalDatabase.AutoTags.Local.Where(t => t.Tag == favoriteTag.Tag && t.Item != null);

            foreach (var item in autoItems)
            {
                subItem.Items.Add(item.Item);
            }
            var userItems = LocalDatabase.UserTags.Local.Where(t => t.Tag == favoriteTag.Tag && t.Item != null);

            foreach (var item in userItems)
            {
                subItem.Items.Add(item.Item);
            }
            subItem.Header = $"{favoriteTag.Tag} ({subItem.Items.Count} items)";
            return(subItem);
        }
Ejemplo n.º 6
0
        private TagGroup GetNode(string header, IEnumerable <IGrouping <string, IndividualTag> > items)
        {
            var node = new TagGroup {
                Name = header
            };

            foreach (var set in items)
            {
                var subItem = new TagGroup {
                    Name = set.Key
                };
                foreach (var item in set)
                {
                    subItem.Items.Add(item.Item);
                }
                subItem.Header = $"{set.Key} ({subItem.Items.Count} items)";
                node.Items.Add(subItem);
            }
            SetHeader(node);
            return(node);
        }
Ejemplo n.º 7
0
 private static void SetHeader(TagGroup node)
 {
     node.Header = node.Items.Count == 1 ? $"{node.Name} ({node.Items.Count} item)" : $"{node.Name} ({node.Items.Count} items)";
 }