private void btnLuu_Click(object sender, EventArgs e) { if (txtMaPhieuNhap.Text.Trim() == "") { MessageBox.Show("Mã phiếu bắt buộc nhập!"); return; } if (cbKhoNhan.Text == "" ) { MessageBox.Show("Chưa nhập kho hoặc mã phiếu"); return; } DatabaseHelper help = new DatabaseHelper(); help.ConnectDatabase(); //switch (staTus) switch (PanelButton.getClickStatus()) { #region "Thêm" case enumButton2.Them: using (var dbcxtransaction = help.ent.Database.BeginTransaction()) { try { clsPhieuNhapKho phieunhap = new clsPhieuNhapKho(); phieunhap.Ma_phieu_nhap = txtMaPhieuNhap.Text; if (!phieunhap.CheckTonTaiSoDK(txtMaPhieuNhap.Text)) { phieunhap.Kho_nhan = cbKhoNhan.Text; phieunhap.Kho_xuat_ra = txtXuatTaiKho.Text; phieunhap.Da_phan_kho = false; phieunhap.ID_Loai_Phieu_Nhap = null; phieunhap.Ma_phieu_nhap = txtMaPhieuNhap.Text; phieunhap.Dia_chi = txtDiaChi.Text; phieunhap.Ly_do = txtLyDo.Text; phieunhap.Ngay_lap = dtNgayNhap.Value; phieunhap.Cong_trinh = txtCongTrinh.Text; phieunhap.Da_phan_kho = false; phieunhap.ID_khoNhan = (int)cbKhoNhan.SelectedValue; if (rdoKNMN.Checked == true) phieunhap.isKNMN = true; if (rdoKNTN.Checked == true) phieunhap.isKNTN = true; if (rdoKCTN.Checked == true) phieunhap.isKCTN = true; if (rdoKCMuonNo.Checked == true) phieunhap.isKCMN = true; phieunhap.isNhapNgoai = true; phieunhap.Ten_kho_muon = cbKhoNgoai.Text; if (phieunhap.Insert(help) == 1) { //DataTable chiTietPhieuNhap = new clsChi_Tiet_Phieu_Nhap_Vat_Tu().GetAll(phieuNhap.ID_phieu_nhap); for (int i = 0; i < dataTable1.Rows.Count; i++) { clsChi_Tiet_Phieu_Nhap_Vat_Tu chitiet = new clsChi_Tiet_Phieu_Nhap_Vat_Tu(); // chitiet.ID_chi_tiet_phieu_nhap = int.Parse(gridMaster.Rows[i].Cells["ID_chi_tiet_phieu_nhap"].ToString()); chitiet.Ma_phieu_nhap = (txtMaPhieuNhap.Text); chitiet.ID_Don_vi_tinh = int.Parse(dataTable1.Rows[i]["ID_Don_vi_tinh"].ToString()); chitiet.Ma_vat_tu = (dataTable1.Rows[i]["Ma_vat_tu"].ToString()); chitiet.ID_Chat_luong = int.Parse(dataTable1.Rows[i]["ID_Chat_luong"].ToString()); // chitiet.So_luong_yeu_cau = decimal.Parse(dataTable1.Rows[i]["So_luong_yeu_cau"].ToString()); chitiet.So_luong_thuc_lanh = decimal.Parse(dataTable1.Rows[i]["so_luong_thuc_lanh"].ToString()); chitiet.Don_gia = decimal.Parse(dataTable1.Rows[i]["Don_gia"].ToString()); chitiet.Thanh_tien = decimal.Parse(dataTable1.Rows[i]["Thanh_tien"].ToString()); chitiet.Da_duyet = false; if (chitiet.Insert(help) == 0) dbcxtransaction.Rollback(); } dbcxtransaction.Commit(); PanelButton.ResetClickStatus(); //setInputComponentStatus(true); enableInputForm(); PanelButton.ResetButton(); frmDanhSachPhieuNhap dspn = new frmDanhSachPhieuNhap(txtMaPhieuNhap.Text); dspn.Show(); } else dbcxtransaction.Rollback(); } else { MessageBox.Show("mã phiếu nhập này đã tồn tại trong csdl!"); button2_Click(this, EventArgs.Empty); } } catch (Exception ex) { MessageBox.Show(Utilities.clsThamSoUtilities.COException(ex)); dbcxtransaction.Rollback(); } } break; #endregion #region "Sua" case enumButton2.Sua: { using (var dbcxtransaction = help.ent.Database.BeginTransaction()) { try { clsPhieuNhapKho phieunhap = new clsPhieuNhapKho(); phieunhap.Ma_phieu_nhap = txtMaPhieuNhap.Text; { // phieunhap. // phieunhap.ID_Loai_Phieu_Nhap = Int32.Parse(cbLoaiPhieuNhan.SelectedValue.ToString()); phieunhap.Ma_phieu_nhap = txtMaPhieuNhap.Text; phieunhap.Dia_chi = txtDiaChi.Text; phieunhap.Ly_do = txtLyDo.Text; phieunhap.Ngay_lap = dtNgayNhap.Value; // phieunhap.So_hoa_don = txtSoHD.Text; phieunhap.Cong_trinh = txtCongTrinh.Text; //if (rdoKNMN.Checked == true) // phieunhap.isChoMuonNgoai = true; if (rdoKNMN.Checked == true) phieunhap.isKNMN = true; if (rdoKNTN.Checked == true) phieunhap.isKNTN = true; if (rdoKCTN.Checked == true) phieunhap.isKCTN = true; if (rdoKCMuonNo.Checked == true) phieunhap.isKCMN = true; phieunhap.isNhapNgoai = true; //if (isLoaiPhieu == "TN") // phieunhap.isTraNo = true; // phieunhap.isGoiDau = chbNGD.Checked; phieunhap.ID_khoNhan = (int)cbKhoNhan.SelectedValue; DataTable temp = phieunhap.GetThongTinPhieuMuonNo(phieunhap.Ma_phieu_nhap); Phieu_Nhap_Kho nk = new Phieu_Nhap_Kho(); nk.Ma_phieu_nhap = phieunhap.Ma_phieu_nhap; nk.ID_phieu_nhap = int.Parse(temp.Rows[0]["ID_phieu_nhap"].ToString()); nk.Cong_trinh = phieunhap.Cong_trinh; nk.Da_phan_kho = phieunhap.Da_phan_kho; nk.Dia_Chi = phieunhap.Dia_chi; nk.ID_Loai_Phieu_Nhap = phieunhap.ID_Loai_Phieu_Nhap; nk.Kho_nhan = phieunhap.Kho_nhan; nk.ID_kho = phieunhap.ID_khoNhan; nk.Kho_xuat_ra = phieunhap.Kho_xuat_ra; // nk.isKNTN = phieunhap.isTraNo; nk.isToTrinh = phieunhap.isToTrinh; nk.Ly_do = phieunhap.Ly_do; nk.Ngay_lap = phieunhap.Ngay_lap; nk.So_hoa_don = phieunhap.So_hoa_don; nk.isKNMN = phieunhap.isKNMN; nk.isKNTN = phieunhap.isKNTN; nk.isKCTN = phieunhap.isKCTN; nk.isKCMN = phieunhap.isKCMN; nk.isNVMN = phieunhap.isNVMN; nk.isNhapNgoai = true; if (phieunhap.Update(nk) == 1) { clsChi_Tiet_Phieu_Nhap_Vat_Tu pn = new clsChi_Tiet_Phieu_Nhap_Vat_Tu(); pn.Ma_phieu_nhap = phieunhap.Ma_phieu_nhap; pn.remove(pn.Ma_phieu_nhap); for (int i = 0; i < dataTable1.Rows.Count; i++) { clsChi_Tiet_Phieu_Nhap_Vat_Tu chitiet = new clsChi_Tiet_Phieu_Nhap_Vat_Tu(); chitiet.Ma_phieu_nhap = (txtMaPhieuNhap.Text); chitiet.ID_Don_vi_tinh = int.Parse(dataTable1.Rows[i]["ID_Don_vi_tinh"].ToString()); chitiet.Ma_vat_tu = (dataTable1.Rows[i]["Ma_vat_tu"].ToString()); chitiet.ID_Chat_luong = int.Parse(dataTable1.Rows[i]["ID_Chat_luong"].ToString()); chitiet.So_luong_thuc_lanh = decimal.Parse(dataTable1.Rows[i]["so_luong_thuc_lanh"].ToString()); chitiet.Don_gia = decimal.Parse(dataTable1.Rows[i]["Don_gia"].ToString()); chitiet.Thanh_tien = decimal.Parse(dataTable1.Rows[i]["Thanh_tien"].ToString()); chitiet.Da_duyet = false; chitiet.ID_Chat_luong = int.Parse(cbChatLuong.SelectedValue.ToString()); if (chitiet.Insert(help) == 0) dbcxtransaction.Rollback(); } dbcxtransaction.Commit(); PanelButton.ResetClickStatus(); //setInputComponentStatus(true); enableInputForm(); PanelButton.ResetButton(); } else dbcxtransaction.Rollback(); } } catch (Exception ex) { MessageBox.Show(Utilities.clsThamSoUtilities.COException(ex)); dbcxtransaction.Rollback(); } } this.ds.LoadData(); break; } #endregion } }
/// <summary> /// hàm này tiến hành cập nhật lại CSDL rất lớn liên quang 5000 dòng /// /// </summary> public void ChuyenDoi() { DatabaseHelper help = new DatabaseHelper(); help.ConnectDatabase(); // insert using (var dbcxtransaction = help.ent.Database.BeginTransaction()) { try { for (int i = 0; i < tb.Rows.Count - 1; i++) { string Ma_phieu_nhap = tb.Rows[i]["column1"].ToString(); DateTime Ngay_lap = DateTime.Parse(tb.Rows[i]["column2"].ToString()); string Kho_nhan = tb.Rows[i]["column3"].ToString(); string Ly_do = tb.Rows[i]["column4"].ToString(); string Ma_vat_tu = tb.Rows[i]["column5"].ToString(); string Ten_vat_tu = tb.Rows[i]["column6"].ToString(); string Chat_luong = tb.Rows[i]["column7"].ToString(); string DVT = tb.Rows[i]["column8"].ToString(); string So_luong_thuc_lanh = tb.Rows[i]["column9"].ToString(); string Don_gia = tb.Rows[i]["column10"].ToString(); string Thanh_tien = tb.Rows[i]["column11"].ToString(); clsPhieuNhapKho pnk = new clsPhieuNhapKho(); if (pnk.CheckTonTaiSoDK(Ma_phieu_nhap, help) == false) { pnk.Ma_phieu_nhap = Ma_phieu_nhap; pnk.isGoiDau = rdoPhieuGoiDau.Checked; pnk.isCanTru = false; pnk.Ngay_lap = Ngay_lap; pnk.Kho_nhan = Kho_nhan; pnk.Ly_do = Ly_do; clsLoaiPhieuNhap LPN = new clsLoaiPhieuNhap(); LPN.Ma_LPN = Loai_PN; pnk.ID_Loai_Phieu_Nhap = LPN.GetFirst(help); pnk.ID_khoNhan = idkho; if ( pnk.Insert(help) == 0) { dbcxtransaction.Rollback(); MessageBox.Show("insert thất bại tại dòng !" + i); return; } } clsChi_Tiet_Phieu_Nhap_Vat_Tu ctpn = new clsChi_Tiet_Phieu_Nhap_Vat_Tu(); ctpn.Ma_vat_tu = Ma_vat_tu; ctpn.Ma_phieu_nhap = Ma_phieu_nhap; ctpn.ID_Chat_luong = Chat_luong.Contains("mới") ? 1 : 2; //kiểm tra xem vật tư đã có trong csdl chưa nếu chưa thêm vào clsDM_DonViTinh DMDVT = new clsDM_DonViTinh(); if (ctpn.CheckTonTaiSoDK(help) == false) { DMDVT.Ten_don_vi_tinh = DVT; if (DMDVT.hasDuplicateRow(help) == false) { //nếu chưa có thì insert dòng mới DMDVT.Insert(help); } //tiến hành insert 5000 dòng dữ liệu từ phiếu nhập } ctpn.ID_Don_vi_tinh = DMDVT.getMATuTen(DVT, help); //kiểm tra mã vật tư đã tồn tại chưa trong CSDL clsDMVatTu vt = new clsDMVatTu(); vt.Ma_vat_tu = Ma_vat_tu; vt.Ten_vat_tu = Ten_vat_tu; vt.ID_Don_vi_tinh = ctpn.ID_Don_vi_tinh; if (vt.KiemTraTrungMa(help) == false) { vt.Insert(help); } ctpn.So_luong_thuc_lanh = decimal.Parse(So_luong_thuc_lanh); ctpn.Insert(help); backgroundWorker1.ReportProgress(i); } dbcxtransaction.Commit(); backgroundWorker1.ReportProgress(0); MessageBox.Show("Thêm thành công!"); } catch (Exception ex) { dbcxtransaction.Rollback(); // Get stack trace for the exception with source file information MessageBox.Show(Utilities.clsThamSoUtilities.COException(ex)); return; } } }