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); }
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 }
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); }
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); }
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); }
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); }
private static void SetHeader(TagGroup node) { node.Header = node.Items.Count == 1 ? $"{node.Name} ({node.Items.Count} item)" : $"{node.Name} ({node.Items.Count} items)"; }