private void OKBtn_Click(object sender, EventArgs e)
        {
            this.fEntry.Name     = this.TitleBox.Text;
            this.fEntry.Category = this.CatBox.Text;
            this.fEntry.Details  = (this.DetailsBox.Text != this.DetailsBox.DefaultText ? this.DetailsBox.Text : "");
            this.fEntry.DMInfo   = (this.DMBox.Text != this.DMBox.DefaultText ? this.DMBox.Text : "");
            List <EncyclopediaLink> encyclopediaLinks = new List <EncyclopediaLink>();

            foreach (EncyclopediaLink link in Session.Project.Encyclopedia.Links)
            {
                if (!link.EntryIDs.Contains(this.fEntry.ID))
                {
                    continue;
                }
                encyclopediaLinks.Add(link);
            }
            foreach (EncyclopediaLink encyclopediaLink in encyclopediaLinks)
            {
                Session.Project.Encyclopedia.Links.Remove(encyclopediaLink);
            }
            foreach (ListViewItem checkedItem in this.EntryList.CheckedItems)
            {
                EncyclopediaEntry tag = checkedItem.Tag as EncyclopediaEntry;
                EncyclopediaLink  encyclopediaLink1 = new EncyclopediaLink();
                encyclopediaLink1.EntryIDs.Add(this.fEntry.ID);
                encyclopediaLink1.EntryIDs.Add(tag.ID);
                Session.Project.Encyclopedia.Links.Add(encyclopediaLink1);
            }
        }
        private void OKBtn_Click(object sender, EventArgs e)
        {
            fEntry.Name     = TitleBox.Text;
            fEntry.Category = CatBox.Text;
            fEntry.Details  = (DetailsBox.Text != DetailsBox.DefaultText) ? DetailsBox.Text : "";
            fEntry.DMInfo   = (DMBox.Text != DMBox.DefaultText) ? DMBox.Text : "";

            // Remove all links containing this entry
            List <EncyclopediaLink> obsolete = new List <EncyclopediaLink>();

            foreach (EncyclopediaLink link in Session.Project.Encyclopedia.Links)
            {
                if (link.EntryIDs.Contains(fEntry.ID))
                {
                    obsolete.Add(link);
                }
            }
            foreach (EncyclopediaLink link in obsolete)
            {
                Session.Project.Encyclopedia.Links.Remove(link);
            }

            // Add the required links
            foreach (ListViewItem lvi in EntryList.CheckedItems)
            {
                EncyclopediaEntry ee = lvi.Tag as EncyclopediaEntry;

                EncyclopediaLink link = new EncyclopediaLink();
                link.EntryIDs.Add(fEntry.ID);
                link.EntryIDs.Add(ee.ID);

                Session.Project.Encyclopedia.Links.Add(link);
            }
        }