private void btnLuu_Click(object sender, EventArgs e) { if (cbbNoiDungXuat.Text.Trim() == "") { MessageBox.Show("Vui lòng chọn nội dung xuất!"); cbbNoiDungXuat.Focus(); return; } if (grvHangHoa.RowCount <= 0) { MessageBox.Show("Vui lòng chọn hàng hóa xuất"); } else { PhieuXuat px = new PhieuXuat(); px.MaNhanVien = (ProjectUltil.MaNhanVien != "") ? ProjectUltil.MaNhanVien : "NV0001"; px.SoPhieuXuat = tedSoPhieu.Text; px.NgayLap = DateTime.Now; px.TongTien = TongTien; px.NoiDungXuat = cbbNoiDungXuat.SelectedText; if (PhieuXuatService.Insert(px)) { int fail = 0; for (int i = 0; i < grvHangHoa.RowCount; i++) { ChiTietPhieuXuat ctpx = new ChiTietPhieuXuat(); ctpx.SoPhieuXuat = tedSoPhieu.Text; ctpx.MaHangHoa = grvHangHoa.GetRowCellValue(i, "MaHangHoa").ToString(); ctpx.SoLuong = int.Parse(grvHangHoa.GetRowCellValue(i, "SoLuong").ToString()); ctpx.DonGiaXuat = decimal.Parse(grvHangHoa.GetRowCellValue(i, "DonGiaXuat").ToString()); ctpx.ThanhTien = decimal.Parse(grvHangHoa.GetRowCellValue(i, "ThanhTien").ToString()); if (ChiTietPhieuXuatService.Insert(ctpx)) { if (cbbNoiDungXuat.SelectedIndex == 0) { if (!HangHoaService.XuatQuay(ctpx.MaHangHoa, ctpx.SoLuong)) { MessageBox.Show("Không thể cập nhật số lượng hàng hóa!"); } } else { if (!HangHoaService.XuatTra(ctpx.MaHangHoa, ctpx.SoLuong)) { MessageBox.Show("Không thể cập nhật số lượng hàng hóa!"); } } } else { fail++; if (i > 0) { ChiTietPhieuNhapService.Delete(tedSoPhieu.Text); } if (PhieuNhapService.Delete(tedSoPhieu.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 { isSaved = true; isDataChanged = true; MessageBox.Show("Lưu thành công!"); } } else { if (MessageBox.Show("Thông báo", "Phiếu xuất này đã được lưu, bạn muốn tạo phiếu mới?", MessageBoxButtons.OKCancel) == DialogResult.OK) { btnNhapLai.PerformClick(); } } } }