// 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: "); } }
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"); } }