private void btnThem_Click(object sender, EventArgs e) { if (lblWarning.Visible) { MessageBox.Show("Không thể thêm chi tiết của phiếu mua đã nhập kho", "Thông báo", MessageBoxButtons.OK); return; } if (txtMaPhieuMua2.Text == "") { MessageBox.Show("Chưa chọn phiếu mua để thêm chi tiết \nVui lòng Nhấn chọn phiếu mua cần thêm chi tiết trong Bảng PHIẾU MUA", "Thông báo", MessageBoxButtons.OK); return; } if (cboNguyenLieu.Text == "") { MessageBox.Show("Nguyên liệu không được để trống \nVui lòng chọn một nguyên liệu", "Thông báo", MessageBoxButtons.OK); return; } if (txtDonGia.Text == "") { MessageBox.Show("Đơn giá không được để trống \nVui lòng điền vào đơn giá", "Thông báo", MessageBoxButtons.OK); txtDonGia.Text = "0"; return; } if (txtSoLuong.Text == "") { MessageBox.Show("Số lượng không đươc để trống \nVui lòng điền vào số lượng", "Thông báo", MessageBoxButtons.OK); txtSoLuong.Text = "0"; return; } //trường hợp đã tồn tại nguyên liệu này trong chi tiết phiếu mua if (ChiTietPhieuMuaNLBLL.KiemTraMaNL(txtMaPhieuMua2.Text.Trim(), NguyenLieuBLL.LayMaNguyenLieuTheoTen(cboNguyenLieu.Text.Trim()))) { //thông báo lỗi không thể thêm MessageBox.Show("Nguyên liệu này đã tồn tại trong chi tiết phiếu mua hiện tại\nVui lòng Nhấn nút 'Cập nhật' để cập nhật nguyên liệu", "Thông báo", MessageBoxButtons.OK); return; } //đủ điều kiện thêm chi tiet ChiTietPhieuMuaNL chiTiet = new ChiTietPhieuMuaNL(); chiTiet.MaPhieu = txtMaPhieuMua2.Text.Trim(); chiTiet.MaNguyenLieu = NguyenLieuBLL.LayMaNguyenLieuTheoTen(cboNguyenLieu.Text.Trim()); chiTiet.DonGia = Convert.ToDecimal(txtDonGia.Text.Trim()); chiTiet.SoLuong = Convert.ToDecimal(txtSoLuong.Text.Trim()); chiTiet.ThanhTien = Convert.ToDecimal(txtThanhTien.Text.Trim()); ChiTietPhieuMuaNLBLL.ThemChiTietPhieuMuaNL(chiTiet); getDataGridViewChiTietPhieuMua(txtMaPhieuMua.Text); getDataGridViewPhieuMua(); }
private bool SoSanhSoLuongTonVaSoLuongCanDung(List <string> listMaNguyenLieu, List <int> listSoLuong, int TongSoHocSinhAD, PhieuMuaNL phieuMua) { bool KiemTraSoLuongTonCoDuDung = true; //duyệt từng nguyên liệu để so sánh số lượng cần dùng và số lượng tồn trong kho for (int i = 0; i < listMaNguyenLieu.Count; i++) { int soLuongThieu = TongSoHocSinhAD * listSoLuong[i] - int.Parse(NguyenLieuBLL.LaySoLuongTonTheoMaNguyenLieu(listMaNguyenLieu[i])); //trường hợp thiếu nguyên liệu if (soLuongThieu > 0) { //Thêm chi tiết mua nguyên liệu bị thiếu ChiTietPhieuMuaNLBLL.ThemChiTietPhieuMuaNL(phieuMua.MaPhieu, listMaNguyenLieu[i], soLuongThieu, 0, 0); //xác nhận số lượng không đủ dùng KiemTraSoLuongTonCoDuDung = false; } } return(KiemTraSoLuongTonCoDuDung); }