예제 #1
0
        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();
        }
예제 #2
0
        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);
        }