Beispiel #1
0
 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());
 }
Beispiel #2
0
        /// <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);
                }
            }
        }