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); } }
public Encyclopedia Copy() { Encyclopedia encyclopedium = new Encyclopedia(); foreach (EncyclopediaEntry fEntry in this.fEntries) { encyclopedium.Entries.Add(fEntry.Copy()); } foreach (EncyclopediaLink fLink in this.fLinks) { encyclopedium.Links.Add(fLink.Copy()); } foreach (EncyclopediaGroup fGroup in this.fGroups) { encyclopedium.Groups.Add(fGroup.Copy()); } return(encyclopedium); }
/// <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); } }
/// <summary> /// Creates a copy of the encyclopedia. /// </summary> /// <returns>Returns the copy.</returns> public Encyclopedia Copy() { Encyclopedia e = new Encyclopedia(); foreach (EncyclopediaEntry entry in fEntries) { e.Entries.Add(entry.Copy()); } foreach (EncyclopediaLink link in fLinks) { e.Links.Add(link.Copy()); } foreach (EncyclopediaGroup group in fGroups) { e.Groups.Add(group.Copy()); } return(e); }