Esempio n. 1
0
 public void Import(Encyclopedia enc)
 {
     if (enc == null)
     {
         return;
     }
     foreach (EncyclopediaEntry entry in enc.Entries)
     {
         EncyclopediaEntry encyclopediaEntry = this.FindEntry(entry.ID);
         if (encyclopediaEntry != null)
         {
             this.Entries.Remove(encyclopediaEntry);
         }
         this.Entries.Add(entry);
     }
     foreach (EncyclopediaGroup group in enc.Groups)
     {
         EncyclopediaGroup encyclopediaGroup = this.FindGroup(group.ID);
         if (encyclopediaGroup != null)
         {
             this.Groups.Remove(encyclopediaGroup);
         }
         this.Groups.Add(group);
     }
     foreach (EncyclopediaLink link in enc.Links)
     {
         EncyclopediaLink encyclopediaLink = this.FindLink(link.EntryIDs[0], link.EntryIDs[1]);
         if (encyclopediaLink != null)
         {
             this.Links.Remove(encyclopediaLink);
         }
         this.Links.Add(link);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Imports the data from another encyclopedia into this one.
        /// </summary>
        /// <param name="enc">The encyclopedia to import from.</param>
        public void Import(Encyclopedia enc)
        {
            if (enc == null)
            {
                return;
            }

            foreach (EncyclopediaEntry entry in enc.Entries)
            {
                // Remove any previous entry
                EncyclopediaEntry ee = FindEntry(entry.ID);
                if (ee != null)
                {
                    Entries.Remove(ee);
                }

                Entries.Add(entry);
            }

            foreach (EncyclopediaGroup group in enc.Groups)
            {
                // Remove any previous group
                EncyclopediaGroup eg = FindGroup(group.ID);
                if (eg != null)
                {
                    Groups.Remove(eg);
                }

                Groups.Add(group);
            }

            foreach (EncyclopediaLink link in enc.Links)
            {
                // Remove any previous link
                EncyclopediaLink el = FindLink(link.EntryIDs[0], link.EntryIDs[1]);
                if (el != null)
                {
                    Links.Remove(el);
                }

                Links.Add(link);
            }
        }
Esempio n. 3
0
        public EncyclopediaGroup FindGroup(Guid entry_id)
        {
            EncyclopediaGroup encyclopediaGroup;

            List <EncyclopediaGroup> .Enumerator enumerator = this.fGroups.GetEnumerator();
            try
            {
                while (enumerator.MoveNext())
                {
                    EncyclopediaGroup current = enumerator.Current;
                    if (current.ID != entry_id)
                    {
                        continue;
                    }
                    encyclopediaGroup = current;
                    return(encyclopediaGroup);
                }
                return(null);
            }
            finally
            {
                ((IDisposable)enumerator).Dispose();
            }
        }