Esempio n. 1
0
        private void HuyBoMuaHangVaCapNhatNguyenLieu(PhieuMuaNL phieuMua, List <string> listMaNguyenLieu, List <int> listSoLuong, int TongSoHocSinhAD)
        {
            //xóa phiếu mua vừa tạo
            PhieuMuaNLBLL.XoaPhieuMuaNL(phieuMua.MaPhieu);

            //thực hiện trừ số lượng nguyên liệu được dùng
            for (int i = 0; i < listMaNguyenLieu.Count; i++)
            {
                NguyenLieuBLL.CapNhatTonNguyenLieuTheoMa(listMaNguyenLieu[i], -TongSoHocSinhAD * listSoLuong[i]);
            }
        }
Esempio n. 2
0
        public static PhieuMuaNL TaoPhieuMuaMoi()
        {
            PhieuMuaNL phieuMuaNL = new PhieuMuaNL();

            phieuMuaNL.MaPhieu       = SinhMaTuDong();
            phieuMuaNL.NgayMua       = DateTime.Today;
            phieuMuaNL.TongTien      = 0;
            phieuMuaNL.TrangThai     = "Chưa nhập kho";
            phieuMuaNL.NguoiLapPhieu = "Nông Thị Lệ";
            ThemPhieuMuaNL(phieuMuaNL);
            return(phieuMuaNL);
        }
Esempio n. 3
0
        public static void CapNhatPhieuMuaNL(PhieuMuaNL phieuMuaNL)
        {
            DataAccessHelper db  = new DataAccessHelper();
            SqlCommand       cmd = db.Command("CAP_NHAT_PHIEU_MUA_NL");

            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.AddWithValue("@MaPhieu", phieuMuaNL.MaPhieu);
            cmd.Parameters.AddWithValue("@NgayMua", phieuMuaNL.NgayMua);
            cmd.Parameters.AddWithValue("@TongTien", phieuMuaNL.TongTien);
            cmd.Parameters.AddWithValue("@TrangThai", phieuMuaNL.TrangThai);

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            db.dt = new DataTable();
            da.Fill(db.dt);
        }
Esempio n. 4
0
        private bool KiemTraNguyenLieuTrongKho()
        {
            //làm mới danh sách
            thongTinSoLuongNguyenLieuCanDeApDung.Clear();

            DataTable DanhSachMonAn = ChiTietThucDonBLL.LayDanhSachMaMonAnTheoThucDon(cboThucDon_Loc.Text.Trim());

            //duyệt tất cả các món ăn trong thực đơn
            foreach (DataRow MonAn in DanhSachMonAn.Rows)
            {
                //lấy ra danh sách các nguyên liệu có trong món ăn đang duyệt
                DataTable danhSachNguyenLieu = ApDungThucDonBLL.LayDanhSachMaNguyenLieuVaSoLuongTrongMonAn(MonAn["MaMonAn"].ToString());

                //duyệt danh sách nguyên liệu của món ăn
                foreach (DataRow nguyenLieu in danhSachNguyenLieu.Rows)
                {
                    ThemNguyenLieuVaoDanhSach(nguyenLieu["MaNguyenLieu"].ToString(), nguyenLieu["SoLuong"].ToString());
                }
            }

            //lấy ra danh sách nguyên liệu, sô lượng
            List <string> listMaNguyenLieu = new List <string>(thongTinSoLuongNguyenLieuCanDeApDung.Keys);
            List <int>    listSoLuong      = new List <int>(thongTinSoLuongNguyenLieuCanDeApDung.Values);

            //Thêm phiếu mua mới vào CSDL (giả sử cần phải mua thêm nguyên liệu)
            PhieuMuaNL phieuMua = new PhieuMuaNL();

            phieuMua = PhieuMuaNLBLL.TaoPhieuMuaMoi();

            //trường hợp mọi nguyên liệu đủ dùng
            if (SoSanhSoLuongTonVaSoLuongCanDung(listMaNguyenLieu, listSoLuong, TinhTongSoLuongHocSinhApDung(), phieuMua))
            {
                HuyBoMuaHangVaCapNhatNguyenLieu(phieuMua, listMaNguyenLieu, listSoLuong, TinhTongSoLuongHocSinhApDung());
                return(true);
            }

            ThongBaoXacNhanThemPhieuMua(phieuMua.MaPhieu);
            return(false);
        }
Esempio n. 5
0
 public static void CapNhatPhieuMuaNL(PhieuMuaNL phieuMuaNL)
 {
     PhieuMuaNLDAL.CapNhatPhieuMuaNL(phieuMuaNL);
 }
Esempio n. 6
0
 public static void ThemPhieuMuaNL(PhieuMuaNL phieuMuaNL)
 {
     PhieuMuaNLDAL.ThemPhieuMuaNL(phieuMuaNL);
 }
Esempio n. 7
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);
        }
Esempio n. 8
0
        //------------------------------event Click-----------------------------------------------

        private void btnTaoMoiPhieuMua_Click(object sender, EventArgs e)
        {
            PhieuMuaNL phieuMuaNL = PhieuMuaNLBLL.TaoPhieuMuaMoi();

            getDataGridViewPhieuMua();
        }