private void btnLuu_Click(object sender, EventArgs e) { if (grvHangHoa.RowCount <= 0) { MessageBox.Show("Vui lòng chọn hàng hóa nhập"); } else { PhieuNhap pn = new PhieuNhap(); pn.MaNhanVien = (ProjectUltil.MaNhanVien != "")? ProjectUltil.MaNhanVien : "NV0001"; pn.SoPhieuNhap = tedSoPhieuNhap.Text; pn.NgayLap = DateTime.Now; pn.TongTien = TongTien; if (PhieuNhapService.Insert(pn)) { int success = 0, fail = 0; for (int i = 0; i < grvHangHoa.RowCount; i++) { ChiTietPhieuNhap ctpn = new ChiTietPhieuNhap(); ctpn.SoPhieuNhap = tedSoPhieuNhap.Text; ctpn.MaHangHoa = grvHangHoa.GetRowCellValue(i, "MaHangHoa").ToString(); ctpn.MaNhaCungCap = int.Parse(grvHangHoa.GetRowCellValue(i, "MaNhaCungCap").ToString()); ctpn.HanSuDung = DateTime.ParseExact(grvHangHoa.GetRowCellValue(i, "HanSuDung").ToString(), "d/M/yyyy", CultureInfo.InvariantCulture); ctpn.SoLuong = int.Parse(grvHangHoa.GetRowCellValue(i, "SoLuong").ToString()); ctpn.DonGiaNhap = decimal.Parse(grvHangHoa.GetRowCellValue(i, "DonGiaNhap").ToString()); ctpn.ThanhTien = decimal.Parse(grvHangHoa.GetRowCellValue(i, "ThanhTien").ToString()); if (ChiTietPhieuNhapService.Insert(ctpn)) { if (!HangHoaService.NhapHang(ctpn.MaHangHoa, ctpn.SoLuong)) { MessageBox.Show("Không thể cập nhật số lượng hàng hóa!"); } success++; } else { fail++; if (i > 0) { ChiTietPhieuNhapService.Delete(tedSoPhieuNhap.Text); } if (PhieuNhapService.Delete(tedSoPhieuNhap.Text)) { MessageBox.Show("Roll back thành công!"); } else { MessageBox.Show("Roll back không thành công!"); } break; } } if (fail > 0) { MessageBox.Show("Lưu không thành công!"); } else if (success == grvHangHoa.RowCount) { isDataChanged = true; isSaved = true; MessageBox.Show("Lưu thành công!"); } } else { if (MessageBox.Show("Phiếu nhập này đã được lưu, bạn muốn tạo phiếu nhập mới?", "Thông báo", MessageBoxButtons.OKCancel) == DialogResult.OK) { btnNhapLai.PerformClick(); } } } }