private void btnEditBook_Click(object sender, RoutedEventArgs e)
        {
            Book item     = null;
            Book bkDetail = null;

            if (this.dgBooks.SelectedItems.Count > 0)
            {
                item = (Book)this.dgBooks.SelectedItem;
                try
                {
                    bkDetail = _bookManager.RetrieveBookByID(item);
                    var detailForm = new frmBookDetail(_bookManager, bkDetail, BookDetailForm.Edit);
                    var result     = detailForm.ShowDialog();
                    if (result == true)
                    {
                        refreshBookList();
                        dgBooks.ItemsSource = _bookList;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + "\n\n" + ex.InnerException.Message, "Ouch!");
                }
            }
            else
            {
                MessageBox.Show("You need to select something!");
            }
        }
        private void btnBookDetails_Click(object sender, RoutedEventArgs e)
        {
            Book bookItem = null;
            Book bkDetail = null;

            if (this.dgBooks.SelectedItems.Count > 0)
            {
                bookItem = (Book)this.dgBooks.SelectedItem;
                try
                {
                    bkDetail = _bookManager.RetrieveBookByID(bookItem);
                    var frmDetails = new frmBookDetail(_bookManager, bkDetail, BookDetailForm.View);
                    var result     = frmDetails.ShowDialog();
                    if (result == true)
                    {
                        refreshBookList();
                        dgBooks.ItemsSource = _bookList;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message + "\n\n" + ex.InnerException.Message, "Ouch!");
                }
            }
            else
            {
                MessageBox.Show("You need to select something!");
            }

            // get the item and pass it to an book manager method
            // to return an book detail object, which we will pass
            // to an book detail window for display
        }
        private void btnAddBook_Click(object sender, RoutedEventArgs e)
        {
            var detailForm = new frmBookDetail(_bookManager);
            var result     = detailForm.ShowDialog();

            if (result == true)
            {
                refreshBooks();
            }
        }