Example #1
0
        // Nút Thêm món
        private void btAddFood_Click(object sender, EventArgs e)
        {
            int idBanAn         = -1;
            int idMonAn         = -1;
            int idNhanVien      = AccountDAO.GetIdNhanVien(TenNguoiDung);
            int idHoaDonHienTai = -1;

            if (tbSelectedTable.Text != "")                              // nếu đã chọn bàn
            {
                idBanAn         = Convert.ToInt32(tbSelectedTable.Text); // Lấy id của bàn ăn vừa chọn
                idHoaDonHienTai = Convert.ToInt32(lvBill.Tag);           // Lấy id hóa đơn hiện tại của bàn ăn;
            }
            else
            {
                MessageBox.Show("Vui lòng chọn bàn ăn cần thêm hóa đơn");
            }


            if (cbFood.SelectedValue != null)
            {
                idMonAn = (int)cbFood.SelectedValue;// lấy id món ăn
            }
            else
            {
                MessageBox.Show("Vui lòng chọn món ăn cần thêm");
            }

            int soluong = (int)numFoodCount.Value > 0 ? (int)numFoodCount.Value : 1; // số lượng món chọn phải từ 1 trở lên

            if (idBanAn > 0 && idMonAn > 0 && idNhanVien > 0 && idHoaDonHienTai > 0)
            {
                DataTable cthd = CTHDDAO.GetBillItem(new DTO.CTHD(idHoaDonHienTai, idMonAn, soluong)); // xuất ra bill item nếu nó có tồn tại trong bill

                if (cthd.Rows.Count > 0)
                {
                    CTHDDAO.Update(new CTHD(idHoaDonHienTai, idMonAn, soluong)); // update nếu đã có món ăn tồn tại trong Bill
                }
                else
                {
                    CTHDDAO.Insert(new CTHD(idHoaDonHienTai, idMonAn, soluong)); // Insert nếu chưa có món ăn tồn tại trong bill
                }
                ShowBill(Convert.ToInt32(tbSelectedTable.Text));                 // hiển thị thông tin bill đang trên bàn
            }
            else
            {
                MessageBox.Show("Thêm vào bill không thành công: ");
            }
        }
Example #2
0
        private void btDeleteFood_Click(object sender, EventArgs e)
        {
            if (tbSelectedTable.Text != "")
            {
                string idMonAn = cbFood.SelectedValue.ToString();

                DataTable cthd = CTHDDAO.GetBillItem(new DTO.CTHD(Convert.ToInt32(lvBill.Tag.ToString()), Convert.ToInt32(idMonAn.ToString()), (int)numDeleteFood.Value)); // xuất ra bill item nếu nó có tồn tại trong bill

                // Kiểm tra món ăn đó có xuất hiện trong bill chưa
                if (cthd.Rows.Count > 0)
                {
                    DialogResult dialog = MessageBox.Show("Bạn có muốn xóa " + numDeleteFood.Value + " món " + idMonAn + " khỏi bill " + lvBill.Tag.ToString(), "Cảnh báo", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);

                    if (dialog == DialogResult.Yes)
                    {
                        // So sánh số lượng xóa và số lượng món ăn đang có trong bill
                        int sl_HienTai = Convert.ToInt32(cthd.Rows[0]["SoLuong"].ToString());

                        if (sl_HienTai - (int)numDeleteFood.Value > 0)
                        {
                            CTHDDAO.Update(new CTHD(Convert.ToInt32(lvBill.Tag.ToString()), Convert.ToInt32(idMonAn.ToString()), -(int)numDeleteFood.Value)); // update nếu đã có món ăn tồn tại trong Bill, Lưu ý số lượng có dấu trừ
                        }
                        else
                        {
                            CTHDDAO.Delete(lvBill.Tag.ToString(), idMonAn); // xóa nếu số lượng xóa lớn hơn số lượng hiện tại
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Món ăn chưa tồn tại trong Bill nên không xóa");
                }

                ShowBill(Convert.ToInt32(tbSelectedTable.Text)); // hiển thị thông tin bill đang trên bàn
            }
            else
            {
                MessageBox.Show("Vui lòng chọn 1 bàn ăn cần xóa món");
            }
        }