// 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");
            }
        }
        // Hiện thị thông tin các bàn ăn hiện tại
        void DisplayTable()
        {
            flpTable.Controls.Clear();

            List <Table> tableList = BUS.TableBUS.GetBanAnList(BanAnDAO.GetDataTable());

            foreach (Table table in tableList)
            {
                Button bt = new Button()
                {
                    Width = 100, Height = 60
                };                                                     // Tạo mới 1 button có dài rộng
                bt.BackColor = SystemColors.Control;

                //bt.Text = "Bàn " + table.Id + "\n" + status;
                bt.Text = "Bàn " + table.Id + "\n" + (table.Trangthaiban == "True" ? "Có người" : "Trống");
                bt.Tag  = table.Id.ToString(); // lưu lại thông tin id bàn ăn vào tag của button

                bt.Click += btBanAn_Click;     // Thêm xử lý khi click vào nút
                bt.Enter += btBanAn_Enter;     // thêm xử lý sự kiện khi chọn nút bt
                bt.Leave += btBanAn_Leave;     // thêm xử lý sự kiện khi ra khỏi nút bt

                flpTable.Controls.Add(bt);     // thêm cái button tượng trưng cho bàn ăn vào flow layout panel
            }
        }
        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");
            }
        }
        // Kiểm tra trạng thái hiện tại của bàn ăn
        // false: Có người
        // true: trống
        public static bool IsEmpty(string id)
        {
            DataTable data = BanAnDAO.CheckTableStatus(id);
            DataRow   row  = data.Rows[0];

            return(row["TrangThaiBan"].ToString() == "False");
        }
        public static int GetNextIdTable()
        {
            DataTable data = new DataTable();

            data = BanAnDAO.GetMaxIDTable();
            return((int)data.Rows[0]["id"] + 1);
        }
Exemple #6
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            BanAnDAO banAnDAO = new BanAnDAO();

            dgvBanAn.DataSource = banAnSource;

            banAnSource.DataSource = banAnDAO.LayDSBanAn();

            AddBindingSourceBanAn();
        }
 public static void XoaBanAn(string id)
 {
     if (MessageBox.Show("Bạn muốn xóa bàn ăn này?", "Xác nhận", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         try
         {
             BanAnDAO.XoaBanAn(id);
         }
         catch (Exception)
         {
             MessageBox.Show("Xóa bàn ăn không thành công!");
         }
     }
 }
 void ChangeImageTable(int idtable, int check)
 {
     if (check == 0)
     {
         SimpleButton btntemp = groupControl1.Tag as SimpleButton;
         btntemp.Image = ((System.Drawing.Image)(resources.GetObject("btn2.Image")));
         BanAnDAO.SuaTrangThaiBA(idtable, check);
     }
     else
     {
         SimpleButton btntemp = groupControl1.Tag as SimpleButton;
         btntemp.Image = ((System.Drawing.Image)(resources.GetObject("btn1.Image")));
         BanAnDAO.SuaTrangThaiBA(idtable, check);
     }
     LayDanhSachBanTrong();
 }
        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;
            }
        }
Exemple #10
0
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            int    id        = Convert.ToInt32(txtIDBanAn.Text);
            string tenBanAn  = txtTenBanAn.Text;
            int    soChoNgoi = Convert.ToInt32(nmSoChoNgoi.Value);
            int    trangThai = 0;

            if (cbTrangThaiBanAn.SelectedItem.ToString() == "Có người")
            {
                trangThai = 1;
            }

            BanAnDAO banAnDAO         = new BanAnDAO();
            bool     capNhatThanhCong = banAnDAO.CapNhatBanAn(id, tenBanAn, trangThai, soChoNgoi);

            if (capNhatThanhCong == false)
            {
                MessageBox.Show("Có lỗi trong quá trình cập nhât bàn ăn, thử lại sau", "Thông báo lỗi");
                return;
            }

            MessageBox.Show("Cập nhật bàn ăn thành công", "Thông báo");
            dgvBanAn.DataSource = banAnDAO.LayDSBanAn();
        }
Exemple #11
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            string tenBanAn  = txtTenBanAn.Text;
            int    soChoNgoi = Convert.ToInt32(nmSoChoNgoi.Value);
            int    trangThai = 0;

            if (cbTrangThaiBanAn.SelectedItem.ToString() == "Có người")
            {
                trangThai = 1;
            }

            // Kiểm tra giá trị người dùng nhập
            BanAnDAO banAnDAO  = new BanAnDAO();
            bool     thanhCong = banAnDAO.TaoBanAn(tenBanAn, trangThai, soChoNgoi);

            if (thanhCong == false)
            {
                MessageBox.Show("Có lỗi trong quá trình thêm bàn ăn mới, thử lại sau", "Thông báo lỗi");
                return;
            }

            MessageBox.Show("Thêm bàn ăn mới thành công", "Thông báo");
            dgvBanAn.DataSource = banAnDAO.LayDSBanAn();
        }
 private void btLuuBan_Click(object sender, EventArgs e)
 {
     BanAnDAO.LuuBanAN();
     DisplayTable();
     tbTableName.Text = "";
 }
 void LayDanhSachBanTrong()
 {
     cboChuyenBan.DataSource    = BanAnDAO.DanhSachBanTrong();
     cboChuyenBan.DisplayMember = "TENBA";
     cboChuyenBan.ValueMember   = "MABA";
 }
 private void DisplayCbChangeTable()
 {
     cbChangeTable.DataSource  = BanAnDAO.GetDataTable();
     cbChangeTable.ValueMember = "id";
 }