public void Refresh() { TagGroups.Clear(); LocalDatabase.AutoTags.Load(); LocalDatabase.UserTags.Load(); LocalDatabase.Aliases.Load(); LocalDatabase.FavoriteTags.Load(); LocalDatabase.PageTags.Load(); TagGroups.Add(GetNode("Auto Tags", LocalDatabase.AutoTags.Local.GroupBy(i => i.Tag, StringComparer.OrdinalIgnoreCase))); TagGroups.Add(GetNode("User Tags", LocalDatabase.UserTags.Local.GroupBy(i => i.Tag, StringComparer.OrdinalIgnoreCase))); TagGroups.Add(GetNode("Aliases", LocalDatabase.Aliases.Local.GroupBy(i => i.Name, StringComparer.OrdinalIgnoreCase))); TagGroups.Add(GetNodeForFavoriteTags()); }
/// <summary> /// Adds the tag group and calculates the tag indexes. /// </summary> public void AddGroup(TagGroup tagGroup) { int tagIndex = deviceTags.Count; TagGroups.Add(tagGroup); foreach (DeviceTag deviceTag in tagGroup.DeviceTags) { deviceTag.Index = tagIndex++; deviceTags.Add(deviceTag); if (!string.IsNullOrEmpty(deviceTag.Code) && !tagByCode.ContainsKey(deviceTag.Code)) { tagByCode.Add(deviceTag.Code, deviceTag); } } }