public void LoadTableList()
        {
            BLL.BanBLL        tableBLL  = new BLL.BanBLL();
            List <DTO.BanDTO> tableList = tableBLL.LoadTableList();

            flpTable.Controls.Clear();
            foreach (DTO.BanDTO item in tableList)
            {
                Button btn = new Button()
                {
                    Width = tableBLL.WidthTable(), Height = tableBLL.HeighTable()
                };
                btn.Text   = item.MaBan;
                btn.Click += Btn_Click;
                btn.Tag    = item;
                if (item.TrangThai == false)
                {
                    btn.Text     += Environment.NewLine + "Trống";
                    btn.BackColor = Color.Aqua;
                }
                else
                {
                    btn.Text     += Environment.NewLine + "Có người";
                    btn.BackColor = Color.Orange;
                }
                flpTable.Controls.Add(btn);
            }
        }
 private void btnThanhToan_Click(object sender, EventArgs e)
 {
     if (trangThaiBan == true)
     {
         // Kiểm tra Danh sách CTHD có không
         // Nếu không có thì xóa Hóa đơn
         // Nếu có Update Trạng thái Hóa đơn : đã thanh toán
         // Xóa listView ---> Load lại listView
         // Đỗi trạng thái Bàn ----> Load lại bàn
         if (MessageBox.Show("Thanh toán hóa đơn bàn số : " + txtMaBan.Text, "Thông báo", MessageBoxButtons.YesNo) == DialogResult.Yes)
         {
             BLL.HoaDonBLL hoaDon    = new BLL.HoaDonBLL();
             DTO.HoaDonDTO hoaDonDTO = hoaDon.GetHoaDonChuaThanhToanByMaBan(txtMaBan.Text);
             if (listViewHoaDon.Items.Count > 0)
             {
                 // có CTHD -> đỗi trạng thái hóa đơn và trạng thái bàn
                 if (hoaDon.UpdateHoaDonKhiThanhToan(hoaDonDTO.MaHD))
                 {
                     // Update lại trạng thái bàn
                     BLL.BanBLL ban = new BLL.BanBLL();
                     if (ban.UpdateBanKhiThanhToan(txtMaBan.Text))
                     {
                         MessageBox.Show("Thanh toán thành công \n Đơn giá : " + labelTongTien.Text + "vnđ");
                     }
                 }
             }
             else
             {
                 // không có CTHD
                 hoaDon.DeleteHoaDon(hoaDonDTO.MaHD);
                 BLL.BanBLL ban = new BLL.BanBLL();
                 ban.UpdateBanKhiThanhToan(txtMaBan.Text);
             }
             // Xóa danh sách trong list view
             listViewHoaDon.Items.Clear();
             // Load lại tổng tiền
             LoadTongTien();
             // Load lại danh sách bàn
             LoadTableList();
         }
     }
     else
     {
         MessageBox.Show("Hãy lập hóa đơn trước khi thanh toán !!", "Thông báo");
     }
 }
 private void btnThem_Click(object sender, EventArgs e)
 {
     if (cbbSoLuong.Text.Length > 0 && txtMaBan.Text.Length > 0)
     {
         if (trangThaiBan == true)
         {
             // Update CTHD
             BLL.HoaDonBLL hoaDon    = new BLL.HoaDonBLL();
             DTO.HoaDonDTO hoaDonDTO = hoaDon.GetHoaDonChuaThanhToanByMaBan(txtMaBan.Text);
             BLL.CTHDBLL   cthd      = new BLL.CTHDBLL();
             if (cthd.KiemTraSanPhamTrongCTHD(hoaDonDTO.MaHD, txtMaSP.Text))
             {
                 // Đã có sản phẩm => Update CTHD
                 if (cthd.UpdateSoLuongByMaHDAndMaSp(hoaDonDTO.MaHD, txtMaSP.Text, Int32.Parse(cbbSoLuong.Text)))
                 {
                     BLL.SanPhamBLL sanPham = new BLL.SanPhamBLL();
                     int            soLuong = sanPham.GetSoLuongTonKhoByMaSP(txtMaSP.Text);
                     sanPham.UpdateSoLuongTonKhoByMaSP(txtMaSP.Text, soLuong, Int32.Parse(cbbSoLuong.Text));
                     MessageBox.Show("Thành công");
                 }
                 else
                 {
                     MessageBox.Show("Thất bại");
                 }
             }
             else
             {
                 // Chưa có sản phẩm => Tạo mới CTHD
                 // Thêm 1 CTHD
                 CreateCTHD(txtMaSP.Text, hoaDonDTO.MaHD, Int32.Parse(cbbSoLuong.Text));
                 // Update số lượng sau khi thêm CTHD
                 BLL.SanPhamBLL sanPham = new BLL.SanPhamBLL();
                 int            soLuong = sanPham.GetSoLuongTonKhoByMaSP(txtMaSP.Text);
                 sanPham.UpdateSoLuongTonKhoByMaSP(txtMaSP.Text, soLuong, Int32.Parse(cbbSoLuong.Text));
                 MessageBox.Show("Thành công");
             }
         }
         else
         {
             // Insert HD và thêm 1 bảng CTHD
             // Update trạng thái bàn
             bool check = CreateHoaDon(txtMaBan.Text);
             if (check == true)
             {
                 BLL.HoaDonBLL hoaDon    = new BLL.HoaDonBLL();
                 DTO.HoaDonDTO hoaDonDTO = hoaDon.GetHoaDonChuaThanhToanByMaBan(txtMaBan.Text);
                 // Thêm 1 CTHD
                 CreateCTHD(txtMaSP.Text, hoaDonDTO.MaHD, Int32.Parse(cbbSoLuong.Text));
                 // Update số lượng sau khi thêm CTHD
                 BLL.SanPhamBLL sanPham = new BLL.SanPhamBLL();
                 int            soLuong = sanPham.GetSoLuongTonKhoByMaSP(txtMaSP.Text);
                 sanPham.UpdateSoLuongTonKhoByMaSP(txtMaSP.Text, soLuong, Int32.Parse(cbbSoLuong.Text));
                 // thay đỗi trạng thái bàn => Có người
                 BLL.BanBLL ban = new BLL.BanBLL();
                 ban.UpdateBanKhiLapHoaDon(txtMaBan.Text);
                 MessageBox.Show("Thành công");
             }
         }
         BLL.BanBLL ban1 = new BLL.BanBLL();
         trangThaiBan = ban1.LoadTrangThaiBanByMaBan(txtMaBan.Text);
         if (trangThaiBan == true)
         {
             listViewHoaDon.Items.Clear();
             ShowHoaDon(txtMaBan.Text);
         }
     }
     else
     {
         MessageBox.Show("Chọn bàn và số lượng trước khi thêm dữ liệu", "Thông báo");
     }
     // Load lại ds sản phẩm và bàn
     LoadDanhSachSanPham();
     LoadTableList();
 }