private void btCheckOut_Click(object sender, EventArgs e)
        {
            btCheckOut.Enabled = false;

            DataTable reportInfo = new DataTable();

            if (tbSelectedTable.Text != "")
            {
                string idBanAn         = tbSelectedTable.Text;
                string idHoaDonHienTai = lvBill.Tag.ToString();      // Lấy id hóa đơn hiện tại của bàn ăn;
                reportInfo = MenuDAO.GetDataReport(idHoaDonHienTai); // lấy dữ liệu report từ id hóa đơn
                HoaDonDAO.UpdateStatusHoaDon(idHoaDonHienTai, "1");  // Cập nhật status hóa đơn thành 1 (Đã thanh toán)
                // Lưu ý cập nhật hóa đơn trước vì nếu cập nhật bàn ăn trước sẽ không lấy được bill id của bàn ăn hiện tại
                BanAnDAO.ChangeTableStatus(idBanAn, "0");            // thay đổi status bàn ăn: trống

                DisplayTable();
                ShowBill(Convert.ToInt32(idBanAn));

                // tạo report
                GUI.Report.MenuBill report = new GUI.Report.MenuBill();
                report.SetDataSource(reportInfo);
                // Tiêm phụ thuộc data report
                GUI.Report.ReportViewer reportViewer = new GUI.Report.ReportViewer(report);
                reportViewer.Show();
            }
            else
            {
                MessageBox.Show("Vui lòng chọn 1 bàn để thanh toán");
            }
        }
        // Chuyển bàn
        private void btChangeTable_Click(object sender, EventArgs e)
        {
            if (cbChangeTable.SelectedValue != null)
            {
                string idSelectedTable = cbChangeTable.SelectedValue.ToString();
                string idCurrentTable  = tbSelectedTable.Text;
                if (MessageBox.Show("Bạn có muốn chuyển bàn " + idCurrentTable + " sang bàn " + idSelectedTable, "Warning", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
                {
                    if (cbChangeTable.SelectedValue.ToString() != "System.Data.DataRowView")
                    {
                        // Kiểm tra xem bàn có người chưa
                        bool isEmpty = BUS.TableBUS.IsEmpty(idSelectedTable);
                        if (isEmpty)
                        {
                            // update HoaDon sang bàn mới
                            HoaDonDAO.UpdateTableOfHoaDon(idSelectedTable, lvBill.Tag.ToString());
                            // Thay đổi trạng thái bàn
                            BanAnDAO.ChangeTableStatus(idCurrentTable, "0");
                            BanAnDAO.ChangeTableStatus(idSelectedTable, "1");

                            DisplayTable();
                        }
                        else
                        {
                            MessageBox.Show("Bàn này đã có người");
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Vui lòng chọn 1 bàn để đổi");
            }
        }
        void btBanAn_Click(object sender, EventArgs e)
        {
            int idBanAn = Convert.ToInt32((sender as Button).Tag.ToString());

            tbSelectedTable.Text = idBanAn.ToString(); //  lưu lại id của bàn ăn vào text box

            ShowBill(idBanAn);

            lvBill.Tag = HoaDonDAO.GetUnCheckBillIDByTableID(idBanAn); // lưu id hóa đơn của bàn ăn hiện tại vào lvbill tag

            int idNhanVien = AccountDAO.GetIdNhanVien(TenNguoiDung);   // Lấy id người đăng nhập

            if (lvBill.Tag.ToString() == "-1")                         // nếu bàn đang trống
            {
                DialogResult dialog = MessageBox.Show("Bạn có muốn thêm bill cho bàn ăn này?", "Thông báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
                if (dialog == DialogResult.OK)
                {
                    HoaDonDAO.InsertBill(idBanAn, idNhanVien);                           // Thêm hóa đơn trống
                    BanAnDAO.ChangeTableStatus(idBanAn.ToString(), "1");                 // thay đổi status của bàn thành đang có khách
                    lvBill.Tag           = HoaDonDAO.GetUnCheckBillIDByTableID(idBanAn); // lưu id của bill vào lvBill tag
                    btAddFood.Enabled    = true;                                         // enable nút thêm
                    btDeleteFood.Enabled = true;                                         // enable nút delete
                    btCheckOut.Enabled   = true;
                    DisplayTable();
                }
                else
                {
                    btAddFood.Enabled    = false;
                    btDeleteFood.Enabled = false;
                    btCheckOut.Enabled   = false;
                }
            }
            else
            {
                btAddFood.Enabled    = true;
                btDeleteFood.Enabled = true;
                // không để ở ngoài vì: loại trừ trường hợp click vào bàn đang trống mà không có bill => thêm bị lỗi

                btCheckOut.Enabled = true;
            }
        }