private void btnSua_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { groupBox1.Enabled = true; txtMACN.Enabled = btnThem.Enabled = btnXoa.Enabled = btnReLoad.Enabled = txtMAKHO.Enabled = btnSua.Enabled = false; btnGhi.Enabled = btnPhucHoi.Enabled = btnThoat.Enabled = true; luaChon = SUA; Kho kho = new Kho(txtMAKHO.Text, txtTENKHO.Text, txtDIACHI.Text, txtMACN.Text); //truyền các giá trị vô KHO ObjectUndo ob = new ObjectUndo(luaChon, kho); st.Push(ob); updateButtonPhucHoi(); }
private void btnXoa_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //string makho = ""; if (bdsPHIEUNHAP.Count > 0) { MessageBox.Show("Không xóa được Kho, Kho đã có PHIẾU NHẬP", "", MessageBoxButtons.OK); return; } if (bdsPHIEUXUAT.Count > 0) { MessageBox.Show("Không xóa được Kho, Kho đã có PHIẾU XUẤT", "", MessageBoxButtons.OK); return; } if (bdsDATHANG.Count > 0) { MessageBox.Show("Không xóa được Kho, Kho đã có phiếu ĐẶT HÀNG", "", MessageBoxButtons.OK); return; } if (MessageBox.Show("Bạn có thật sự muốn xóa Kho này ?? ", "Xác nhận", MessageBoxButtons.OKCancel) == DialogResult.OK) { try { luaChon = XOA; Kho kho = new Kho(txtMAKHO.Text, txtTENKHO.Text, txtDIACHI.Text, txtMACN.Text); //truyền các giá trị vô KHO ObjectUndo ob = new ObjectUndo(luaChon, kho); st.Push(ob); //makho = (((DataRowView)bdsKho[bdsKho.Position])["MAKHO"].ToString()); // giữ lại để khi xóa bị lỗi thì ta sẽ quay về lại bdsKho.RemoveCurrent(); this.kHOTableAdapter.Connection.ConnectionString = Program.connstr; this.kHOTableAdapter.Update(this.dS.KHO); this.pHIEUNHAPTableAdapter.Connection.ConnectionString = Program.connstr; this.pHIEUNHAPTableAdapter.Update(this.dS.PHIEUNHAP); this.pHIEUXUATTableAdapter.Connection.ConnectionString = Program.connstr; this.pHIEUXUATTableAdapter.Update(this.dS.PHIEUXUAT); this.dATHANGTableAdapter.Connection.ConnectionString = Program.connstr; this.dATHANGTableAdapter.Update(this.dS.DATHANG); // makho = txtMAKHO.Text; updateButtonPhucHoi(); } catch (Exception ex) { MessageBox.Show("Lỗi xóa Kho. Bạn hãy xóa lại\n" + ex.Message, "", MessageBoxButtons.OK); this.kHOTableAdapter.Fill(this.dS.KHO); //bdsKho.Position = bdsKho.Find("MAKHO", makho); return; } } }
private void btnPhucHoi_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { if (btnSua.Enabled == false || btnThem.Enabled == false) { this.bdsKho.CancelEdit(); //if (btnThem.Enabled == false) bdsKho.Position = vitri; gcKho.Enabled = true; groupBox1.Enabled = false; btnThem.Enabled = btnSua.Enabled = btnXoa.Enabled = btnReLoad.Enabled = btnThoat.Enabled = true; btnGhi.Enabled = btnSua.Enabled = false; } try { ObjectUndo ob = (ObjectUndo)st.Pop(); switch (ob.luaChon) { case THEM: String lenh = (String)ob.obj; MessageBox.Show("Khôi phục sau khi THÊM "); Program.ExecSqlDataReader(lenh); this.kHOTableAdapter.Fill(this.dS.KHO); break; case SUA: MessageBox.Show("Khôi phục sau khi SỬA "); Kho kho = (Kho)ob.obj; if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } String strLenh = "dbo.SP_UndoSuaKho"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = strLenh; Program.sqlcmd.Parameters.Add("@MAKHO", SqlDbType.NChar).Value = kho.maKho; Program.sqlcmd.Parameters.Add("@TENKHO", SqlDbType.NVarChar).Value = kho.tenKho; Program.sqlcmd.Parameters.Add("@DIACHI", SqlDbType.NVarChar).Value = kho.diaChi; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.NChar).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); Program.conn.Close(); String Ret = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); if (Ret != "0") { MessageBox.Show("Khoi phuc khong thanh cong", "", MessageBoxButtons.OK); } else { MessageBox.Show("Khoi phuc thanh cong", "", MessageBoxButtons.OK); } break; case XOA: MessageBox.Show("Khôi phục sau khi XÓA "); Kho kho1 = (Kho)ob.obj; if (Program.conn.State == ConnectionState.Closed) { Program.conn.Open(); } String strLenh1 = "dbo.SP_UndoXoaKho"; Program.sqlcmd = Program.conn.CreateCommand(); Program.sqlcmd.CommandType = CommandType.StoredProcedure; Program.sqlcmd.CommandText = strLenh1; Program.sqlcmd.Parameters.Add("@MAKHO", SqlDbType.NChar).Value = kho1.maKho; Program.sqlcmd.Parameters.Add("@TENKHO", SqlDbType.NVarChar).Value = kho1.tenKho; Program.sqlcmd.Parameters.Add("@DIACHI", SqlDbType.NVarChar).Value = kho1.diaChi; Program.sqlcmd.Parameters.Add("@MACN", SqlDbType.NChar).Value = kho1.MaCN; Program.sqlcmd.Parameters.Add("@Ret", SqlDbType.NChar).Direction = ParameterDirection.ReturnValue; Program.sqlcmd.ExecuteNonQuery(); Program.conn.Close(); String Ret1 = Program.sqlcmd.Parameters["@Ret"].Value.ToString(); if (Ret1 != "0") { MessageBox.Show("Khoi phuc khong thanh cong", "", MessageBoxButtons.OK); } else { MessageBox.Show("Khoi phuc thanh cong", "", MessageBoxButtons.OK); } break; } bdsKho.EndEdit(); bdsKho.ResetCurrentItem(); this.kHOTableAdapter.Connection.ConnectionString = Program.connstr; this.kHOTableAdapter.Update(this.dS.KHO); updateButtonPhucHoi(); reload(); } catch (Exception) { MessageBox.Show("Không có gì để UNDO", "THÔNG BÁO", MessageBoxButtons.OK); } }