using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.TestRun.DriverPrepare { public partial class DriverData : PageBase { #region 加载页面 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetButtonPower(); var dataTypes = from x in Funs.DB.DriverPrepare_DriverDataType where x.ProjectId == this.CurrUser.LoginProjectId select x; if (dataTypes.Count() == 0) { //预置类别 Model.DriverPrepare_DriverDataType dataType1 = new Model.DriverPrepare_DriverDataType { DriverDataTypeId = SQLHelper.GetNewID(), ProjectId = this.CurrUser.LoginProjectId, DriverDataTypeCode = "001", DriverDataTypeName = "项目实施计划", ParentId = "0", }; Model.DriverPrepare_DriverDataType dataType2 = new Model.DriverPrepare_DriverDataType { DriverDataTypeId = SQLHelper.GetNewID(), ProjectId = this.CurrUser.LoginProjectId, DriverDataTypeCode = "002", DriverDataTypeName = "项目WBS", ParentId = "0", }; Model.DriverPrepare_DriverDataType dataType3 = new Model.DriverPrepare_DriverDataType { DriverDataTypeId = SQLHelper.GetNewID(), ProjectId = this.CurrUser.LoginProjectId, DriverDataTypeCode = "003", DriverDataTypeName = "项目总图", ParentId = "0", }; Model.DriverPrepare_DriverDataType dataType4 = new Model.DriverPrepare_DriverDataType { DriverDataTypeId = SQLHelper.GetNewID(), ProjectId = this.CurrUser.LoginProjectId, DriverDataTypeCode = "004", DriverDataTypeName = "项目设计资料", ParentId = "0", }; BLL.DriverPrepareDriverDataTypeService.AddDriverDataType(dataType1); BLL.DriverPrepareDriverDataTypeService.AddDriverDataType(dataType2); BLL.DriverPrepareDriverDataTypeService.AddDriverDataType(dataType3); BLL.DriverPrepareDriverDataTypeService.AddDriverDataType(dataType4); } InitTree();//加载类别树 } } #region 绑定资料库类别 /// /// 绑定资料库树节点 /// private void InitTree() { this.tvDataTypeInit.Nodes.Clear(); TreeNode node = new TreeNode(); node.Text = "开车资料收集"; node.NodeID = "0"; node.Expanded = true; this.tvDataTypeInit.Nodes.Add(node); var types = from x in Funs.DB.DriverPrepare_DriverDataType where x.ProjectId == this.CurrUser.LoginProjectId select x; var dataType = from x in types where x.ParentId == "0" orderby x.DriverDataTypeCode select x; foreach (var q in dataType) { TreeNode newNode = new TreeNode(); newNode.ToolTip = q.DriverDataTypeName; newNode.Text = q.DriverDataTypeName; newNode.NodeID = q.DriverDataTypeId; newNode.EnableExpandEvent = true; newNode.EnableClickEvent = true; node.Nodes.Add(newNode); var childTypes = from x in types where x.ParentId == q.DriverDataTypeId select x; if (childTypes.Count() > 0) { TreeNode emptyNode = new TreeNode(); emptyNode.Text = ""; emptyNode.NodeID = ""; newNode.Nodes.Add(emptyNode); } } } /// /// 展开树 /// /// /// protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e) { e.Node.Nodes.Clear(); var types = from x in Funs.DB.DriverPrepare_DriverDataType where x.ProjectId == this.CurrUser.LoginProjectId && x.ParentId == e.Node.NodeID select x; if (types.Count() > 0) { foreach (var type in types) { TreeNode newNode = new TreeNode(); newNode.ToolTip = type.DriverDataTypeName; newNode.Text = type.DriverDataTypeName; newNode.NodeID = type.DriverDataTypeId; newNode.EnableExpandEvent = true; newNode.EnableClickEvent = true; e.Node.Nodes.Add(newNode); var childTypes = from x in Funs.DB.DriverPrepare_DriverDataType where x.ParentId == type.DriverDataTypeId select x; if (childTypes.Count() > 0) { TreeNode temp = new TreeNode(); temp.Text = ""; temp.NodeID = ""; newNode.Nodes.Add(temp); } } } } #endregion #endregion #region 树点击事件 /// /// 资料库类别树点击事件 /// /// /// protected void tvDataTypeInit_NodeCommand(object sender, TreeCommandEventArgs e) { BindGrid(); } #endregion #region 数据绑定 /// /// 数据绑定 /// public void BindGrid() { string strSql = @"select * from DriverPrepare_DriverData where ProjectId=@projectId and DriverDataTypeId=@DriverDataTypeId"; List listStr = new List(); listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId)); listStr.Add(new SqlParameter("@DriverDataTypeId", this.tvDataTypeInit.SelectedNodeID)); if (!string.IsNullOrEmpty(this.SDriverDataName.Text)) { strSql += " and DriverDataName like @DriverDataName"; listStr.Add(new SqlParameter("@DriverDataName", "%" + this.SDriverDataName.Text.Trim() + "%")); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; //tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #endregion #region 维护类别 /// /// 增加类别 /// /// /// protected void btnMenuAdd_Click(object sender, EventArgs e) { string id = this.tvDataTypeInit.SelectedNodeID; if (!string.IsNullOrEmpty(id)) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DriverDataTypeEdit.aspx?DriverDataTypeId={0}&type={1}", id, "add", "编辑 - "))); } } /// /// 修改类别 /// /// /// protected void btnMenuModify2_Click(object sender, EventArgs e) { string id = this.tvDataTypeInit.SelectedNodeID; if (!string.IsNullOrEmpty(id) && id != "0") { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DriverDataTypeEdit.aspx?DriverDataTypeId={0}&type={1}", id, "edit", "编辑 - "))); } else { Alert.ShowInTop("请选择类别", MessageBoxIcon.Warning); return; } } /// /// 删除类别 /// /// /// protected void btnMenuDel2_Click(object sender, EventArgs e) { string id = this.tvDataTypeInit.SelectedNodeID; if (!string.IsNullOrEmpty(id) && id != "0") { Model.DriverPrepare_DriverDataType DriverDataType = BLL.DriverPrepareDriverDataTypeService.GetDriverDataTypeById(id); if (DriverDataType != null) { List dataTypes = BLL.DriverPrepareDriverDataTypeService.GetDriverDataTypesBySuperDriverDataTypeId(id); if (dataTypes.Count > 0) //含有子类别 { DeleteDetail(dataTypes); } BLL.DriverPrepareDriverDataTypeService.DeleteDriverDataType(id); } } else { Alert.ShowInTop("请选择类别", MessageBoxIcon.Warning); return; } InitTree(); } /// /// 循环删除子级类别 /// /// private void DeleteDetail(List dataTypes) { foreach (var d in dataTypes) { List childDataTypes = BLL.DriverPrepareDriverDataTypeService.GetDriverDataTypesBySuperDriverDataTypeId(d.DriverDataTypeId); if (childDataTypes.Count > 0) { DeleteDetail(childDataTypes); } BLL.DriverPrepareDriverDataTypeService.DeleteDriverDataType(d.DriverDataTypeId); } } #endregion #region 分页 /// /// 分页索引事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } /// /// 分页下拉框事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 查询 /// /// 查询 /// /// /// protected void btnSearch_Click(object sender, EventArgs e) { BindGrid(); } #endregion #region 关闭弹出窗口 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { InitTree(); BindGrid(); } #endregion #region 增加按钮 /// /// 增加 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { if (this.tvDataTypeInit.SelectedNode != null) { //if (this.trWBS.SelectedNode.Nodes.Count == 0) //末级节点 if (this.tvDataTypeInit.SelectedNodeID!="0") { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DriverDataEdit.aspx?DriverDataTypeId={0}", this.tvDataTypeInit.SelectedNode.NodeID, "新增 - "))); } else { Alert.ShowInTop("请选择类别!", MessageBoxIcon.Warning); } } else { Alert.ShowInTop("请选择树节点!", MessageBoxIcon.Warning); } } #endregion #region 编辑 protected void btnMenuModify_Click(object sender, EventArgs e) { EditData(); } /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { EditData(); } /// /// 编辑 /// private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); return; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("DriverDataEdit.aspx?driverDataId={0}", Grid1.SelectedRowID, "编辑 - "))); } #endregion #region 删除 /// /// 右键删除 /// /// /// protected void btnMenuDel_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); var DriverDataIdInfo = BLL.DriverPrepareDriverDataService.GetDriverDataById(rowID); if (DriverDataIdInfo != null) { BLL.DriverPrepareDriverDataService.DeleteDriverData(rowID); } } BindGrid(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #endregion #region Grid行点击事件 /// /// Grid行点击事件 /// /// /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string id = Grid1.DataKeys[e.RowIndex][0].ToString(); if (e.CommandName == "AttachUrl") { PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/DriverPrepare/DriverData&menuId={1}", id, BLL.Const.DriverDataMenuId))); } } #endregion #region 权限设置 /// /// 权限设置 /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.DriverDataMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnAdd)) { this.btnNew.Hidden = false; this.btnMenuAdd.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnModify)) { this.btnMenuModify.Hidden = false; this.btnMenuModify2.Hidden = false; this.Grid1.EnableRowDoubleClickEvent = true; } if (buttonList.Contains(BLL.Const.BtnDelete)) { this.btnMenuDel.Hidden = false; this.btnMenuDel2.Hidden = false; } } } #endregion } }