using BLL; using System; using System.Collections.Generic; using System.Linq; using System.Web.UI.WebControls; namespace FineUIPro.Web.BaseInfo { public partial class DataBase : PageBase { #region 加载 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetButtonPower(); InitTreeMenu(); } } #endregion #region 加载树 /// /// 加载树 /// private void InitTreeMenu() { this.tvControlItem.Nodes.Clear(); TreeNode rootNode = new TreeNode(); rootNode.Text = "资料库"; rootNode.NodeID = "0"; rootNode.EnableExpandEvent = true; rootNode.Expanded = true; this.tvControlItem.Nodes.Add(rootNode); this.GetNodes(rootNode.Nodes, rootNode, null); } /// /// 遍历节点 /// /// /// /// private void GetNodes(TreeNodeCollection nodes, TreeNode rootNode, string parentId) { if (parentId == null) { var dataTypes = (from x in Funs.DB.DataBase_DataType where x.SuperDataTypeId == "0" && x.DataTypeId != Const.DataTypeConstructId orderby x.SortIndex select x).ToList(); foreach (var item in dataTypes) { TreeNode rootNode1 = new TreeNode(); rootNode1.Text = item.DataTypeName; rootNode1.NodeID = item.DataTypeId; rootNode1.ToolTip = item.DataTypeName; rootNode1.EnableClickEvent = true; nodes.Add(rootNode1); } } else { var dataTypes = (from x in Funs.DB.DataBase_DataType where x.SuperDataTypeId == parentId orderby x.SortIndex select x).ToList(); foreach (var item in dataTypes) { TreeNode rootNode1 = new TreeNode(); rootNode1.Text = item.DataTypeName; rootNode1.NodeID = item.DataTypeId; rootNode1.ToolTip = item.DataTypeName; rootNode1.EnableClickEvent = true; nodes.Add(rootNode1); } } for (int i = 0; i < nodes.Count; i++) { GetNodes(nodes[i].Nodes, nodes[i], nodes[i].NodeID); } } #endregion #region 维护 /// /// 增加 /// /// /// protected void btnMenuAdd_Click(object sender, EventArgs e) { string id = this.tvControlItem.SelectedNodeID; if (!string.IsNullOrEmpty(id)) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DataBaseEdit.aspx?dataTypeId={0}&&type={1}", id, "add", "编辑 - "))); } } /// /// 修改 /// /// /// protected void btnMenuModify_Click(object sender, EventArgs e) { string id = this.tvControlItem.SelectedNodeID; if (!string.IsNullOrEmpty(id) && id != "0") { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DataBaseEdit.aspx?dataTypeId={0}&&type={1}", id, "edit", "编辑 - "))); } else { Alert.ShowInTop("请选择资料类别", MessageBoxIcon.Warning); return; } } /// /// 删除 /// /// /// protected void btnMenuDel_Click(object sender, EventArgs e) { string id = this.tvControlItem.SelectedNodeID; if (!string.IsNullOrEmpty(id) && id != "0") { Model.DataBase_DataType division = BLL.DataTypeService.GetDataTypeById(id); if (division != null) { List dataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(id); if (dataTypes.Count > 0) //含有子类别 { DeleteDetail(dataTypes); } BLL.DataTypeService.DeleteDataTypeById(id); } } else { Alert.ShowInTop("请选择资料类别", MessageBoxIcon.Warning); return; } InitTreeMenu(); } /// /// 循环删除子级类别 /// /// private void DeleteDetail(List dataTypes) { foreach (var d in dataTypes) { List childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(d.DataTypeId); if (childDataTypes.Count > 0) { DeleteDetail(childDataTypes); } BLL.DataTypeService.DeleteDataTypeById(d.DataTypeId); } } #endregion #region 关闭弹出窗口 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { InitTreeMenu(); } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.CQMSDataBaseMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnAdd)) { this.btnMenuAdd.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnModify)) { this.btnMenuModify.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnDelete)) { this.btnMenuDel.Hidden = false; } } } #endregion } }