/// <summary> /// Method to get user defind groups /// </summary> /// <param name="lscId">lscId</param> /// <param name="userId">userId</param> public List <UDGroupInfo> GetUDGroups(int lscId, int userId) { try { SqlParameter[] parms = { new SqlParameter("@LscID", SqlDbType.Int), new SqlParameter("@UserID", SqlDbType.Int) }; parms[0].Value = lscId; parms[1].Value = userId; var groups = new List <UDGroupInfo>(); using (var rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SqlText.SQL_SELECT_GROUP_GETUDGROUPS, parms)) { while (rdr.Read()) { var group = new UDGroupInfo(); group.LscID = ComUtility.DBNullInt32Handler(rdr["LscID"]); group.UserID = ComUtility.DBNullInt32Handler(rdr["UserID"]); group.UDGroupID = ComUtility.DBNullInt32Handler(rdr["UDGroupID"]); group.UDGroupName = ComUtility.DBNullStringHandler(rdr["UDGroupName"]); group.UDGroupNodes = null; group.Enabled = ComUtility.DBNullBooleanHandler(rdr["Enabled"]); groups.Add(group); } } return(groups); } catch { throw; } }
/// <summary> /// Method to save LSC user defind group tree nodes /// </summary> /// <param name="connectionString">connectionString</param> /// <param name="group">group</param> public UDGroupInfo SaveLSCUDGroupTreeNodes(string connectionString, UDGroupInfo group) { try { return(groupDal.SaveLSCUDGroupTreeNodes(connectionString, group)); } catch { throw; } }
/// <summary> /// Method to save CSC user defind group tree nodes /// </summary> /// <param name="group">group</param> public void SaveCSCUDGroupTreeNodes(UDGroupInfo group) { try { groupDal.SaveCSCUDGroupTreeNodes(group); } catch { throw; } }
/// <summary> /// UDGSettingWestPanelSubmitNodes /// </summary> protected void UDGSettingWestPanelSubmitNodes(object sender, SubmitEventArgs e) { try { var lscId = LscID; var udGroupID = UDGroupID; var lscEntity = new BLsc(); var lsc = lscEntity.GetLsc(lscId); if (lsc == null) { WebUtility.ShowNotify(EnmErrType.Warning, "无法获取客户端信息,数据保存失败!"); return; } var userData = UserData; var lscUser = userData.LscUsers.Find(lu => { return(lu.LscID == lsc.LscID); }); if (lscUser == null) { WebUtility.ShowNotify(EnmErrType.Warning, "无法获取用户信息,数据保存失败!"); return; } var cacheKey = WebUtility.GetCacheKeyName(userData, "udg-setting-devs"); var devNodes = HttpRuntime.Cache[cacheKey] as List <GroupTreeInfo>; if (devNodes == null) { WebUtility.ShowNotify(EnmErrType.Warning, "无法获取关联设备,数据保存失败!"); return; } var group = new UDGroupInfo(); group.LscID = lscId; group.UserID = lscUser.UserID; group.UDGroupID = udGroupID; group.UDGroupName = UDGroupName.Text; group.UDGroupNodes = new List <UDGroupTreeInfo>(); group.Enabled = true; AddUDGSettingWestPanelSubmitNodes(devNodes, group, e.RootNode); var groupEntity = new BGroup(); string connectionString = WebUtility.CreateLscConnectionString(lsc); group = groupEntity.SaveLSCUDGroupTreeNodes(connectionString, group); groupEntity.SaveCSCUDGroupTreeNodes(group); lscUser.UDGroups.RemoveAll(udg => { return(udg.UDGroupID == group.UDGroupID); }); lscUser.UDGroups.Add(group); UDGroupID = group.UDGroupID; WebUtility.ShowNotify(EnmErrType.Info, "数据已保存成功!"); } catch (Exception err) { WebUtility.WriteLog(EnmSysLogLevel.Error, EnmSysLogType.Exception, err.ToString(), Page.User.Identity.Name); WebUtility.ShowMessage(EnmErrType.Error, err.Message); } }
/// <summary> /// Built User Defind Group Tree /// </summary> /// <param name="group">group</param> private void BuiltUDGroupTree(UDGroupInfo group) { try { var root = new Ext.Net.TreeNode(); root.NodeID = "0"; root.Text = group != null ? group.UDGroupName : "新增群组"; root.Icon = Icon.House; root.Leaf = false; root.Expanded = true; root.SingleClickExpand = true; root.CustomAttributes.Add(new ConfigItem("TreeNodeType", ((int)EnmNodeType.Null).ToString(), ParameterMode.Raw)); UDGSettingWestPanel.Root.Clear(); UDGSettingWestPanel.Root.Add(root); if (group != null) { if (group.UDGroupNodes != null && group.UDGroupNodes.Count > 0) { BuiltUDGroupTreeCallback(group.UDGroupNodes, root, 0); } } } catch { throw; } }
/// <summary> /// AddUDGSettingWestPanelSubmitNodes /// </summary> private void AddUDGSettingWestPanelSubmitNodes(List <GroupTreeInfo> devNodes, UDGroupInfo group, SubmittedNode parentNode) { try { var index = 0; foreach (var node in parentNode.Children) { var gNode = new UDGroupTreeInfo(); gNode.LscID = group.LscID; gNode.UserID = group.UserID; gNode.UDGroupID = group.UDGroupID; gNode.NodeID = Int32.Parse(node.NodeID); var nodeType = Int32.Parse(node.Attributes["TreeNodeType"].ToString()); gNode.NodeType = Enum.IsDefined(typeof(EnmNodeType), nodeType) ? (EnmNodeType)nodeType : EnmNodeType.Null; gNode.NodeName = node.Text; gNode.LastNodeID = Int32.Parse(parentNode.NodeID); gNode.TreeIndex = index++; gNode.Status = EnmAlarmLevel.NoAlarm; gNode.Remark = WebUtility.DefaultString; group.UDGroupNodes.Add(gNode); if (gNode.NodeType == EnmNodeType.Sta) { var cindex = 0; var childNodes = devNodes.FindAll(n => { return(n.LscID == gNode.LscID && n.LastNodeID == gNode.NodeID); }); foreach (var gti in childNodes) { var cNode = new UDGroupTreeInfo(); cNode.LscID = gNode.LscID; cNode.UserID = gNode.UserID; cNode.UDGroupID = gNode.UDGroupID; cNode.NodeID = gti.NodeID; cNode.NodeType = gti.NodeType; cNode.NodeName = gti.NodeName; cNode.LastNodeID = gti.LastNodeID; cNode.TreeIndex = cindex++; cNode.Status = EnmAlarmLevel.NoAlarm; cNode.Remark = WebUtility.DefaultString; group.UDGroupNodes.Add(cNode); } } AddUDGSettingWestPanelSubmitNodes(devNodes, group, node); } } catch { throw; } }
/// <summary> /// Method to save LSC user defind group tree nodes /// </summary> /// <param name="connectionString">connectionString</param> /// <param name="group">group</param> public UDGroupInfo SaveLSCUDGroupTreeNodes(string connectionString, UDGroupInfo group) { try { SqlHelper.TestConnection(connectionString); using (var conn = new SqlConnection(connectionString)) { conn.Open(); var trans = conn.BeginTransaction(IsolationLevel.ReadCommitted); try { SqlParameter[] parms1 = { new SqlParameter("@LscID", SqlDbType.Int), new SqlParameter("@UserID", SqlDbType.Int), new SqlParameter("@UDGroupID", SqlDbType.Int), new SqlParameter("@UDGroupName", SqlDbType.VarChar, 40), new SqlParameter("@Enabled", SqlDbType.Bit) }; if (group.LscID != ComUtility.DefaultInt32) { parms1[0].Value = group.LscID; } else { parms1[0].Value = DBNull.Value; } if (group.UserID != ComUtility.DefaultInt32) { parms1[1].Value = group.UserID; } else { parms1[1].Value = DBNull.Value; } if (group.UDGroupID != ComUtility.DefaultInt32) { parms1[2].Value = group.UDGroupID; } else { parms1[2].Value = DBNull.Value; } if (group.UDGroupName != ComUtility.DefaultString) { parms1[3].Value = group.UDGroupName; } else { parms1[3].Value = DBNull.Value; } parms1[4].Value = group.Enabled; using (var rdr = SqlHelper.ExecuteReader(trans, CommandType.Text, SqlText.SQL_INSERT_GROUP_SAVELSCUDGROUPTREENODES1, parms1)) { if (rdr.Read()) { group.LscID = ComUtility.DBNullInt32Handler(rdr["LscID"]); group.UserID = ComUtility.DBNullInt32Handler(rdr["UserID"]); group.UDGroupID = ComUtility.DBNullInt32Handler(rdr["UDGroupID"]); group.UDGroupName = ComUtility.DBNullStringHandler(rdr["UDGroupName"]); group.Enabled = ComUtility.DBNullBooleanHandler(rdr["Enabled"]); } } SqlParameter[] parms2 = { new SqlParameter("@LscID", SqlDbType.Int), new SqlParameter("@UserID", SqlDbType.Int), new SqlParameter("@UDGroupID", SqlDbType.Int), new SqlParameter("@NodeID", SqlDbType.Int), new SqlParameter("@NodeType", SqlDbType.Int), new SqlParameter("@LastNodeID", SqlDbType.Int), new SqlParameter("@TreeIndex", SqlDbType.Int) }; foreach (var gNode in group.UDGroupNodes) { if (group.LscID != ComUtility.DefaultInt32) { parms2[0].Value = group.LscID; } else { parms2[0].Value = DBNull.Value; } if (group.UserID != ComUtility.DefaultInt32) { parms2[1].Value = group.UserID; } else { parms2[1].Value = DBNull.Value; } if (group.UDGroupID != ComUtility.DefaultInt32) { parms2[2].Value = group.UDGroupID; } else { parms2[2].Value = DBNull.Value; } if (gNode.NodeID != ComUtility.DefaultInt32) { parms2[3].Value = gNode.NodeID; } else { parms2[3].Value = DBNull.Value; } if (gNode.NodeType != EnmNodeType.Null) { parms2[4].Value = (int)gNode.NodeType; } else { parms2[4].Value = DBNull.Value; } if (gNode.LastNodeID != ComUtility.DefaultInt32) { parms2[5].Value = gNode.LastNodeID; } else { parms2[5].Value = DBNull.Value; } if (gNode.TreeIndex != ComUtility.DefaultInt32) { parms2[6].Value = gNode.TreeIndex; } else { parms2[6].Value = DBNull.Value; } SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlText.SQL_INSERT_GROUP_SAVELSCUDGROUPTREENODES2, parms2); } trans.Commit(); return(group); } catch { trans.Rollback(); throw; } } } catch { throw; } }
/// <summary> /// Method to save CSC user defind group tree nodes /// </summary> /// <param name="group">group</param> public void SaveCSCUDGroupTreeNodes(UDGroupInfo group) { try { using (var conn = new SqlConnection(SqlHelper.ConnectionStringLocalTransaction)) { conn.Open(); var trans = conn.BeginTransaction(IsolationLevel.ReadCommitted); try { SqlParameter[] parms1 = { new SqlParameter("@LscID", SqlDbType.Int), new SqlParameter("@UserID", SqlDbType.Int), new SqlParameter("@UDGroupID", SqlDbType.Int), new SqlParameter("@UDGroupName", SqlDbType.VarChar, 40), new SqlParameter("@Enabled", SqlDbType.Bit) }; if (group.LscID != ComUtility.DefaultInt32) { parms1[0].Value = group.LscID; } else { parms1[0].Value = DBNull.Value; } if (group.UserID != ComUtility.DefaultInt32) { parms1[1].Value = group.UserID; } else { parms1[1].Value = DBNull.Value; } if (group.UDGroupID != ComUtility.DefaultInt32) { parms1[2].Value = group.UDGroupID; } else { parms1[2].Value = DBNull.Value; } if (group.UDGroupName != ComUtility.DefaultString) { parms1[3].Value = group.UDGroupName; } else { parms1[3].Value = DBNull.Value; } parms1[4].Value = group.Enabled; SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlText.SQL_INSERT_GROUP_SAVECSCUDGROUPTREENODES1, parms1); SqlParameter[] parms2 = { new SqlParameter("@LscID", SqlDbType.Int), new SqlParameter("@UserID", SqlDbType.Int), new SqlParameter("@UDGroupID", SqlDbType.Int), new SqlParameter("@NodeID", SqlDbType.Int), new SqlParameter("@NodeType", SqlDbType.Int), new SqlParameter("@LastNodeID", SqlDbType.Int), new SqlParameter("@TreeIndex", SqlDbType.Int) }; foreach (var gNode in group.UDGroupNodes) { if (group.LscID != ComUtility.DefaultInt32) { parms2[0].Value = group.LscID; } else { parms2[0].Value = DBNull.Value; } if (group.UserID != ComUtility.DefaultInt32) { parms2[1].Value = group.UserID; } else { parms2[1].Value = DBNull.Value; } if (group.UDGroupID != ComUtility.DefaultInt32) { parms2[2].Value = group.UDGroupID; } else { parms2[2].Value = DBNull.Value; } if (gNode.NodeID != ComUtility.DefaultInt32) { parms2[3].Value = gNode.NodeID; } else { parms2[3].Value = DBNull.Value; } if (gNode.NodeType != EnmNodeType.Null) { parms2[4].Value = (int)gNode.NodeType; } else { parms2[4].Value = DBNull.Value; } if (gNode.LastNodeID != ComUtility.DefaultInt32) { parms2[5].Value = gNode.LastNodeID; } else { parms2[5].Value = DBNull.Value; } if (gNode.TreeIndex != ComUtility.DefaultInt32) { parms2[6].Value = gNode.TreeIndex; } else { parms2[6].Value = DBNull.Value; } SqlHelper.ExecuteNonQuery(trans, CommandType.Text, SqlText.SQL_INSERT_GROUP_SAVECSCUDGROUPTREENODES2, parms2); } trans.Commit(); } catch { trans.Rollback(); throw; } } } catch { throw; } }