private bool UpdatePhieuNhap() { int vt = KiemTraDuLieu(); if (vt == -1)//du lieu hop le { List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = ChiTietPhieuNhapBUS.SelectChiTietPhieuNhapByMaPhieuNhap(MaPhieuNhap); //Up date so luong da nhan trong bang chi tiet don hang va so luong ton, chi tiet phieu nhap string id = txtDonDatHang.Text; List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(id); SanPhamDTO sanPhamDTO = new SanPhamDTO(); bool f = true; int SLNhan = 0; int tongCVTruoc = 0; int tongCVSau = 0; for (int i = 0; i < listchiTietDonHangDTO.Count; i++) { //chi tiet don hang SLNhan = int.Parse(dataGridView_NhapHang.Rows[i].Cells[clSLNhan.Index].Value.ToString()); listchiTietDonHangDTO[i].SLDaNhan = listchiTietDonHangDTO[i].SLDaNhan - listChiTietPhieuNhapDTO[i].SLNhan + SLNhan; tongCVTruoc += listChiTietPhieuNhapDTO[i].SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV; tongCVSau += SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV; ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]); if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong) { f = false; } //so luong ton sanPhamDTO = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham); sanPhamDTO.SoLuongTon = sanPhamDTO.SoLuongTon - listChiTietPhieuNhapDTO[i].SLNhan + SLNhan; SanPhamBUS.UpdateSanPhamById(sanPhamDTO); //Update chi tiet phieu nhap listChiTietPhieuNhapDTO[i].SLNhan = SLNhan; listChiTietPhieuNhapDTO[i].GhiChu = dataGridView_NhapHang.Rows[i].Cells[clGhiChu.Index].Value.ToString(); ChiTietPhieuNhapBUS.UpdateChiTietPhieuNhapById(listChiTietPhieuNhapDTO[i]); } //update tong cv ThamSoDTO thamSoDTO = ThamSoBUS.SelectThamSoById("TS004"); thamSoDTO.GiaTri = (int.Parse(thamSoDTO.GiaTri) - tongCVTruoc + tongCVSau).ToString(); ThamSoBUS.UpdateThamSoById(thamSoDTO); //update trang thai don hang DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(id); if (f)//Da nhan (tat ca SlDaNhan == SoLuong) { donHangDTO.TrangThai = "Đã nhận"; } else//Nhan mot phan (con it nhat mot san pham chua nhan het) { donHangDTO.TrangThai = "Nhận một phần"; } DonHangBUS.UpdateDonHangById(donHangDTO); MessageBox.Show("Cập nhật thành công"); return(true); } else //du lieu ko hop le o vi tri vt { dataGridView_NhapHang.CurrentCell = dataGridView_NhapHang.Rows[vt].Cells[clSLNhan.Index]; dataGridView_NhapHang.CurrentCell.Selected = true; dataGridView_NhapHang.BeginEdit(true); return(false); } }
private void btnXoa_Click(object sender, EventArgs e) { DialogResult res = MessageBox.Show("Xóa đơn Nhập Hàng", "Nhập Hàng", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1); //Lấy vị trí cần xóa if (res == DialogResult.Yes) { string id = dataGridView_TraCuuNhapHang.CurrentRow.Cells["clMaPhieuNhap"].Value.ToString(); List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = ChiTietPhieuNhapBUS.SelectChiTietPhieuNhapByMaPhieuNhap(id); bool xoa = true; for (int i = 0; i < listChiTietPhieuNhapDTO.Count; i++) { if (SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).SoLuongTon < listChiTietPhieuNhapDTO[i].SLNhan) { xoa = false; } } if (xoa) { int Index = dataGridView_TraCuuNhapHang.CurrentRow.Index; int stt = int.Parse(dataGridView_TraCuuNhapHang.CurrentRow.Cells[clSTT.Index].Value.ToString()); string maDonHang = PhieuNhapBUS.SelectPhieuNhapById(id).MaDonHang; if (PhieuNhapBUS.DeletePhieuNhapByID(id)) { dataGridView_TraCuuNhapHang.Rows.RemoveAt(Index); if (dataGridView_TraCuuNhapHang.RowCount > 0) { bool f = false; for (int i = 0; i < Index; i++) { if (dataGridView_TraCuuNhapHang.Rows[i].Visible == true) { f = true; break; } } for (int i = Index; i < dataGridView_TraCuuNhapHang.RowCount; i++) { if (dataGridView_TraCuuNhapHang.Rows[i].Visible == true) { dataGridView_TraCuuNhapHang.Rows[i].Cells["clSTT"].Value = stt.ToString(); stt++; f = true; } } if (f == false) { disableButton(); } else { enableButton(); } } else { disableButton(); } //Update //Up date so luong da nhan trong bang chi tiet don hang va so luong ton List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(maDonHang); SanPhamDTO sanPhamDTO = new SanPhamDTO(); bool falg = true; int tongCV = 0; for (int i = 0; i < listchiTietDonHangDTO.Count; i++) { //chi tiet don hang listchiTietDonHangDTO[i].SLDaNhan = listchiTietDonHangDTO[i].SLDaNhan - listChiTietPhieuNhapDTO[i].SLNhan; tongCV += listChiTietPhieuNhapDTO[i].SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV; ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]); if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong) { falg = false; } //so luong ton sanPhamDTO = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham); sanPhamDTO.SoLuongTon = sanPhamDTO.SoLuongTon - listChiTietPhieuNhapDTO[i].SLNhan; SanPhamBUS.UpdateSanPhamById(sanPhamDTO); } //update trang thai don hang DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(maDonHang); if (falg)//Da nhan (tat ca SlDaNhan == SoLuong) { donHangDTO.TrangThai = "Đã nhận"; } else//Nhan mot phan (con it nhat mot san pham chua nhan het) { donHangDTO.TrangThai = "Nhận một phần"; } DonHangBUS.UpdateDonHangById(donHangDTO); //update tong cv ThamSoDTO thamSoDTO = ThamSoBUS.SelectThamSoById("TS004"); thamSoDTO.GiaTri = (int.Parse(thamSoDTO.GiaTri) - tongCV).ToString(); ThamSoBUS.UpdateThamSoById(thamSoDTO); MessageBox.Show("Xóa thành công"); } } else { MessageBox.Show("Sản phẩm đã bán, không cho phép xóa phiếu nhập " + id); } } }
private bool InsertPhieuNhap() { bool res = true; if (DonHangBUS.SelectDonHangById(txtDonDatHang.Text).TrangThai != "Đã nhận") { int vt = KiemTraDuLieu(); if (vt == -1)//du lieu hop le { //Lay du lieu PhieuNhapDTO phieuNhapDTO = new PhieuNhapDTO(); phieuNhapDTO.MaPhieuNhap = txtMaPhieuNhap.Text; phieuNhapDTO.MaNhanVien = txtMaNhanVien.Text; phieuNhapDTO.NgayNhan = NgayNhap; phieuNhapDTO.MaDonHang = txtDonDatHang.Text; List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = new List <ChiTietPhieuNhapDTO>(); int tongCV = 0; for (int i = 0; i < dataGridView_NhapHang.RowCount; i++) { ChiTietPhieuNhapDTO chiTietPhieuNhapDTO = new ChiTietPhieuNhapDTO(); chiTietPhieuNhapDTO.MaChiTietPhieuNhap = txtMaPhieuNhap.Text; if (i > 100) { chiTietPhieuNhapDTO.MaChiTietPhieuNhap += (i + 1).ToString(); } else if (i > 10) { chiTietPhieuNhapDTO.MaChiTietPhieuNhap += "0" + (i + 1).ToString(); } else { chiTietPhieuNhapDTO.MaChiTietPhieuNhap += "00" + (i + 1).ToString(); } chiTietPhieuNhapDTO.MaPhieuNhap = txtMaPhieuNhap.Text; chiTietPhieuNhapDTO.MaSanPham = dataGridView_NhapHang.Rows[i].Cells[clMaSanPham.Index].Value.ToString(); chiTietPhieuNhapDTO.SLNhan = int.Parse(dataGridView_NhapHang.Rows[i].Cells[clSLNhan.Index].Value.ToString()); tongCV += SanPhamBUS.SelectSanPhamById(chiTietPhieuNhapDTO.MaSanPham).CV *chiTietPhieuNhapDTO.SLNhan; chiTietPhieuNhapDTO.GhiChu = dataGridView_NhapHang.Rows[i].Cells[clGhiChu.Index].Value.ToString(); listChiTietPhieuNhapDTO.Add(chiTietPhieuNhapDTO); } //Insert phieu nhap if (PhieuNhapBUS.InsertPhieuNhap(phieuNhapDTO)) { //Insert chi tiet phieu nhap foreach (ChiTietPhieuNhapDTO ct in listChiTietPhieuNhapDTO) { ChiTietPhieuNhapBUS.InsertChiTietPhieuNhap(ct); } //Up date so luong da nhan trong bang chi tiet don hang string id = txtDonDatHang.Text; List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(id); bool f = true; for (int i = 0; i < listchiTietDonHangDTO.Count; i++) { listchiTietDonHangDTO[i].SLDaNhan += listChiTietPhieuNhapDTO[i].SLNhan; ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]); if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong) { f = false; } } //update tong cv ThamSoDTO thamsoDTO = ThamSoBUS.SelectThamSoById("TS004"); thamsoDTO.GiaTri = (int.Parse(thamsoDTO.GiaTri) + tongCV).ToString(); ThamSoBUS.UpdateThamSoById(thamsoDTO); //update trang thai don hang DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(id); if (f)//Da nhan (tat ca SlDaNhan == SoLuong) { donHangDTO.TrangThai = "Đã nhận"; } else//Nhan mot phan (con it nhat mot san pham chua nhan het) { donHangDTO.TrangThai = "Nhận một phần"; } DonHangBUS.UpdateDonHangById(donHangDTO); //Update so luong ton trong bang san pham SanPhamDTO sanPhamDTO = new SanPhamDTO(); for (int i = 0; i < listChiTietPhieuNhapDTO.Count; i++) { sanPhamDTO = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham); sanPhamDTO.SoLuongTon += listChiTietPhieuNhapDTO[i].SLNhan; SanPhamBUS.UpdateSanPhamById(sanPhamDTO); } MessageBox.Show("Tạo Thành Công"); } else { MessageBox.Show("Tạo Không Thành Công"); res = false; } } else //du lieu ko hop le o vi tri vt { dataGridView_NhapHang.CurrentCell = dataGridView_NhapHang.Rows[vt].Cells[clSLNhan.Index]; dataGridView_NhapHang.CurrentCell.Selected = true; dataGridView_NhapHang.BeginEdit(true); res = false; } } else // don hang da nhan { MessageBox.Show("Đon hàng " + txtDonDatHang.Text + " đã nhận xong, không thể tạo phiếu nhập"); btnTao.Enabled = false; res = false; } return(res); }