public override Panel ShowAddForm(object Object = null)
        {
            book EditBook  = (book)Object;
            bool EditState = EditBook != null;

            ClearAllFields();
            UpdateList();
            Button BtnAdd = new Button()
            {
                Text = "Add"
            };

            BtnAdd.Click += (e, o) =>
            {
                book Book = new book()
                {
                    id           = EditState ? InputID.Text : null,
                    title        = InputTitle.Text.Trim(),
                    review       = InputReview.Text.Trim(),
                    page         = int.Parse(InputPage.Text.Trim()),
                    isbn         = InputISBN.Text.Trim(),
                    author_id    = ((ComboboxItem)AuthorList.SelectedItem).Value.ToString(),
                    publisher_id = ((ComboboxItem)PublisherList.SelectedItem).Value.ToString(),
                    category_id  = ((ComboboxItem)CategoryList.SelectedItem).Value.ToString()
                    ,
                    book_record = null
                };
                if (null != UserClient.AddBook(Book, AppUser))
                {
                    MessageBox.Show("Success");
                    EntityForm.Navigate(0, 0);
                }
                else
                {
                    MessageBox.Show("Failed");
                }
            };
            InputID.Enabled = false;
            InputID.Text    = "GENERATED";
            if (EditState)
            {
                InputID.Text                = EditBook.id;
                InputTitle.Text             = EditBook.title;
                InputReview.Text            = EditBook.review;
                InputISBN.Text              = EditBook.isbn;
                InputPage.Text              = EditBook.page.ToString();
                AuthorList.SelectedValue    = EditBook.author_id;
                PublisherList.SelectedValue = EditBook.publisher_id;
                CategoryList.SelectedValue  = EditBook.category_id;
            }

            Control[] Controls = new Control[]
            {
                new TitleLabel(20)
                {
                    Text = "Add Book"
                }, new BlankControl(),
                new Label()
                {
                    Text = "ID"
                }, InputID,
                new Label()
                {
                    Text = "Title"
                }, InputTitle,
                new Label()
                {
                    Text = "Author"
                }, AuthorList,
                new Label()
                {
                    Text = "Publisher"
                }, PublisherList,
                new Label()
                {
                    Text = "Category"
                }, CategoryList,
                new Label()
                {
                    Text = "Page"
                }, InputPage,
                new Label()
                {
                    Text = "ISBN"
                }, InputISBN,
                new Label()
                {
                    Text = "Review"
                }, InputReview,
                BtnAdd, null
            };

            return(ControlUtil.GeneratePanel(2, Controls, 5, 180, 30, Color.Aqua));
        }