public void fillBook(Book book)
 {
     book.Title = TitleBox.Text;
     book.Author = AuthorBox.Text;
     book.ReleaseDate = RelCal.SelectionStart;
     book.Type = typeButton.CurrentType;
 }
 public BookDetailsWindow(Book book)
 {
     InitializeComponent();
     TitleBox.Text = book.Title;
     AuthorBox.Text = book.Author;
     RelCal.SetDate(book.ReleaseDate);
     typeButton.safeSetCurrent(book.Type);
 }
        public override void removeBook(Book toRemove)
        {
            if (toRemove == null)
                return;

            foreach (TreeNode ti in bookView.Nodes)
                if (ti.Tag == toRemove)
                {
                    bookView.Nodes.Remove(ti);
                    return;
                }
        }
        public override void removeBook(Book toRemove)
        {
            if (toRemove == null)
                return;

            foreach (ListViewItem it in bookView.Items)
                if (it.Tag == toRemove)
                {
                    bookView.Items.Remove(it);
                    return;
                }
        }
 public override void updateBook(Book toUpdate)
 {
     foreach (TreeNode it in bookView.Nodes)
         if (it.Tag == toUpdate)
         {
             if (!toUpdate.isInFilter(Filter))
             {
                 removeBook(toUpdate);
                 return;
             }
             toUpdate.updateTagedTreeNode(it);
             return;
         }
     if(toUpdate.isInFilter(Filter))
         addBook(toUpdate);
 }
 public override void updateBook(Book toUpdate)
 {
     foreach (ListViewItem it in bookView.Items)
         if (it.Tag == toUpdate)
         {
             if (!toUpdate.isInFilter(Filter))
             {
                 removeBook(toUpdate);
                 return;
             }
             toUpdate.updateTagedListViewItem(it);
             return;
         }
     if (toUpdate.isInFilter(Filter))
         addBook(toUpdate);
 }
 public override void addBook(Book toAdd)
 {
     if (toAdd.isInFilter(Filter))
         bookView.Nodes.Add(toAdd.produceTagedTreeNode());
 }
 public abstract void updateBook(Book toUpdate);
 public abstract void removeBook(Book toRemove);
 public abstract void addBook(Book toAdd);
 public override void addBook(Book toAdd)
 {
     if (toAdd.isInFilter(Filter))
         bookView.Items.Add(toAdd.produceTagedListViewItem());
 }
 public void updateBook(Book toUpdate)
 {
     foreach(BookView bv in views)
         bv.updateBook(toUpdate);
 }
 public void removeBook(Book toRemove)
 {
     books.Remove(toRemove);
     foreach(BookView bv in views)
         bv.removeBook(toRemove);
 }
 public void addBook(Book toAdd)
 {
     books.Add(toAdd);
     foreach(BookView bv in views)
         bv.addBook(toAdd);
 }