/// <summary> /// 创建选择的数据 /// </summary> private void DeleteSelectedData(object state) { bool bIfSucc = false; string strErrMessag = "未知错误"; SetButtonEnabled(false); try { if (this._FormIfClose) { return; } Model.SelecedTreeNodeData objSelecedTreeNodeData = (Model.SelecedTreeNodeData)state; if (!(objSelecedTreeNodeData.SelectedDataList == null || objSelecedTreeNodeData.SelectedDataList.Count == 0)) { IDAL.IBuilding objDalBuilding = DALFactory.DALFactory.Building(); IDAL.ISys objDalSys = DALFactory.DALFactory.Sys(); foreach (Model.NodeData objData in objSelecedTreeNodeData.SelectedDataList) { if (objData.Flag.Equals(-1)) { //全部 bIfSucc = objDalSys.DeleteData(0); } else if (objData.Flag >= 0 && objData.Flag <= 3) { bool bSucc = objDalBuilding.Delete(objData.ID); if (bSucc) { bIfSucc = bSucc; } } } } if (bIfSucc) { InitTree(); } } catch (Exception err) { strErrMessag = err.Message; } if (bIfSucc) { RefreshTreeByThread(); } SetButtonEnabled(true); if (bIfSucc) { CMessageBox.ShowSucc("恭喜您,删除成功!", Config.DialogTitle); //当建筑信息删除时,通知其他已开启的树 Manager.GetInstance().BuildingDataChangeNotice(); } else { CMessageBox.ShowError(string.Format("对不起,删除失败,错误原因:\r\n{0}", strErrMessag), Config.DialogTitle); } }
protected override void BtnOK_Click(object sender, EventArgs e) { List <Model.NodeData> listSelectedData = new List <Model.NodeData>(); GetSelectedNodes(ref listSelectedData, this.tv.Nodes[0]); if (listSelectedData.Count > 0) { if (MessageBox.Show("删除后,数据将无法恢复,您确定要删除您勾选的那些数据吗?", Config.DialogTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } Model.SelecedTreeNodeData objSelecedTreeNodeData = new Model.SelecedTreeNodeData() { SelectedDataList = listSelectedData }; SetButtonEnabled(false); ThreadPool.QueueUserWorkItem(new WaitCallback(DeleteSelectedData), objSelecedTreeNodeData); } else { CMessageBox.ShowWaring("请勾选您要删除的数据!", Config.DialogTitle); } }