private void biDeleteCurrent_Click(object sender, EventArgs e) { var orgInfo = GetSelectOrg(); if (orgInfo == null) { WinInfoHelper.ShowInfoWindow(this, "请选择一个节点!"); return; } else { if (MessageBox.Show("确定删除当前部门(不包括下级部门)?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { // List<Maticsoft.Model.SMT_ORG_INFO> depts = GetSelectWithSubDepts(); CtrlWaiting waiting = new CtrlWaiting("删除部门...", () => { try { decimal parId = orgInfo.PAR_ID; Maticsoft.DBUtility.DbHelperSQL.ExecuteSql("update SMT_ORG_INFO set PAR_ID=" + parId + " where PAR_ID=" + orgInfo.ID); DeptDataHelper.DeleteDepts(new List <Maticsoft.Model.SMT_ORG_INFO> { orgInfo }); this.Invoke(new Action(() => { List <DevComponents.AdvTree.Node> nodes = new List <DevComponents.AdvTree.Node>(); foreach (DevComponents.AdvTree.Node item in this.deptTree.Tree.SelectedNode.Nodes) { nodes.Add(item); } this.deptTree.Tree.SelectedNode.Nodes.Clear(); DevComponents.AdvTree.Node parent = this.deptTree.Tree.SelectedNode.Parent; this.deptTree.Tree.SelectedNode.Remove(); if (parent == null) { this.deptTree.Tree.Nodes.AddRange(nodes.ToArray()); } else { parent.Nodes.AddRange(nodes.ToArray()); } })); } catch (System.Exception ex) { log.Error("删除部门错误:", ex); WinInfoHelper.ShowInfoWindow(this, "删除部门异常:" + ex.Message); } }); waiting.Show(this); } } }
private void biDeleteDept_Click(object sender, EventArgs e) { var orgInfos = GetSelectOrgs(); if (orgInfos.Count == 0) { WinInfoHelper.ShowInfoWindow(this, "请选择一个节点!"); return; } else { if (MessageBox.Show("确定删除当前部门及其子部门?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK) { List <Maticsoft.Model.SMT_ORG_INFO> depts = GetSelectWithSubDepts(); CtrlWaiting waiting = new CtrlWaiting("删除部门...", () => { try { DeptDataHelper.DeleteDepts(depts); this.Invoke(new Action(() => { List <DevComponents.AdvTree.Node> nodes = new List <DevComponents.AdvTree.Node>(); foreach (DevComponents.AdvTree.Node item in this.deptTree.Tree.SelectedNodes) { nodes.Add(item); } foreach (var item in nodes) { item.Remove(); } })); } catch (System.Exception ex) { log.Error("删除部门错误:", ex); WinInfoHelper.ShowInfoWindow(this, "删除部门异常:" + ex.Message); } }); waiting.Show(this); } } }