/
ivan
/
ModMas
Обзор
Документация
Войти
/
ivan
/
ModMas
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ModuleMaster/account/auth.aspx.vb
261 строка
11 KB
i.krivokon
Initial commit
13 мар 2026, 13:49
13 мар 2026, 13:49
00d9fb6
Код
Авторство
О чём код?
Imports System.Data.SqlClient Imports sharedClasses.dbFunctions Partial Class Account_Auth Inherits System.Web.UI.Page Protected Sub ModuleRowSelected(ByVal rowNum As Integer) Handles edModules.RecordSelected lblModule.Text = edModules.GetCellContent(rowNum, 1) ModuleId.Value = edModules.GetCellContent(rowNum, 0) edTables.UpdateFilters("moduleid", "=", "'" & ModuleId.Value & "'") edTables.SelectedIndex = -1 edTables.RefreshData(True) gvGRoups.SelectedIndex = -1 tcMain.ActiveTabIndex = 1 upMain.Update() End Sub Protected Sub TableRowSelected(ByVal rowNum As Integer) Handles edTables.RecordSelected TableId.Value = edTables.GetCellContent(rowNum, 0) txtTAbleId.Text = TableId.Value lblTable.Text = edTables.GetCellContent(rowNum, 2) gvGRoups.SelectedIndex = -1 gvGRoups.DataBind() tcMain.ActiveTabIndex = 2 If TableId.Value <> "0" Then PlaceForTableFieldsList.Controls.Clear() BuildTableFieldsList(TableId.Value) End If upMain.Update() End Sub Protected Sub gvGRoups_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles gvGRoups.SelectedIndexChanged GroupId.Value = gvGRoups.SelectedRow.Cells(0).Text txtGroupId.Text = GroupId.Value lblGroup.Text = gvGRoups.SelectedRow.Cells(1).Text gvUsers.SelectedIndex = -1 gvUsers.DataBind() tcMain.ActiveTabIndex = 3 upMain.Update() End Sub Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init fullAccess.Attributes.Add("value", "F") delete.Attributes.Add("value", "D") insert.Attributes.Add("value", "I") [readOnly].Attributes.Add("value", "R") edit.Attributes.Add("value", "E") End Sub Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If TableId.Value <> "0" Then BuildTableFieldsList(TableId.Value) End If Dim action As String = Request.Form("__EVENTTARGET") Dim data As String = Request.Form("__EVENTARGUMENT") Select Case action Case "AddNewUser" If GroupId.Value = 0 Then Message.Text = "SELECT A GROUP FIRST!" Else Dim com As New SqlCommand("INSERT INTO UserModules.dbo.Users (userName, userId, groupId, enabled) VALUES (@userName, @userId, @groupId, 1)") With com.Parameters .AddWithValue("userName", username.Text) username.Text = "" .AddWithValue("userId", userid.Text) userid.Text = "" .AddWithValue("groupId", GroupId.Value) End With Call (New SqlFunctions).NonQuery(com) gvUsers.DataBind() Message.Text = "SAVED" End If 'UsersUpdatePanel.Update() Case "AddNewGroup" If TableId.Value = 0 Then GroupsMessage.Text = "SELECT A TABLE FIRST!" Else Dim con As New SqlConnection(SqlFunctions.ConString) GroupsMessage.Text = "CLicked" Dim com As New SqlCommand("INSERT INTO UserModules.dbo.Groups (GroupName, GroupDescription) VALUES (@groupName, @groupDescription)", con) With com.Parameters .AddWithValue("groupName", NewGroupName.Text) NewGroupName.Text = "" .AddWithValue("groupDescription", NewGroupDescription.Text) NewGroupDescription.Text = "" End With Try con.Open() Dim results As Integer = com.ExecuteNonQuery If results > 0 Then com.CommandText = "SELECT @@IDENTITY" Dim groupId As Integer = com.ExecuteScalar If Not IsNothing(groupId) Then com.Parameters.Clear() com.CommandText = "INSERT INTO UserModules.dbo.[Authorization] (tableid, fieldid, groupid, accesstype) VALUES (@tableid, 0, @groupid, @accesstype) " With com.Parameters .AddWithValue("tableid", TableId.Value) .AddWithValue("groupid", groupId) Dim at As String = "" For Each Control As CheckBox In AccessOptions.Controls If Control.Checked Then at &= Control.Attributes("value") End If Next .AddWithValue("accesstype", at) 'AccessType.SelectedValue) End With com.ExecuteNonQuery() End If End If con.Close() Catch ex As Exception End Try gvGRoups.DataBind() GroupsMessage.Text = "SAVED" End If Case "SaveTableFields" Try Dim sqlf As New SqlFunctions Dim groupId As String = data.Split("|")(0) Dim fields As String = data.Split("|")(1) Dim com As New SqlCommand com.CommandText = "UPDATE [UserModules].[dbo].[Authorization] SET fieldId=@fieldId WHERE groupid=@id and tableid=@tableid" com.Parameters.Clear() With com.Parameters .AddWithValue("fieldId", fields) .AddWithValue("Id", groupId) .AddWithValue("tableid", TableId.Value) End With sqlf.NonQuery(com) gvGRoups.DataBind() MainMessage.Text = data Catch ex As Exception End Try End Select 'Message.Text = DateTime.Now.ToString If Not IsPostBack Then tcMain.ActiveTabIndex = 0 End If End Sub Protected Sub btnRefresh2_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btnRefresh2.Click gvUsers.DataBind() End Sub Protected Sub btnRefresh_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles btnRefresh.Click gvGRoups.DataBind() End Sub Protected Sub gvUsers_RowCommand(sender As Object, e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvUsers.RowCommand Select Case e.CommandName Case "DEL" Dim userId As String = e.CommandArgument 'gvUsers.Rows(e.CommandArgument).Cells(0).Text Call (New SqlFunctions).NonQuery("DELETE FROM UserModules.dbo.Users WHERE id =" & userId) gvUsers.DataBind() Message.Text = "DELETED" & userId upMain.Update() End Select End Sub Protected Sub gvGRoups_RowCommand(sender As Object, e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvGRoups.RowCommand Select Case e.CommandName Case "DEL" Dim groupId As String = e.CommandArgument 'gvUsers.Rows(e.CommandArgument).Cells(0).Text Call (New SqlFunctions).NonQuery("DELETE FROM UserModules.dbo.[Authorization] WHERE groupid =" & groupId & " and tableid = " & TableId.Value) gvGRoups.DataBind() GroupsMessage.Text = "DELETED: " & groupId upMain.Update() End Select End Sub Private Sub BuildTableFieldsList(tableId As Integer) Dim sqlf As New SqlFunctions Dim com As New SqlCommand com.CommandText = "SELECT GROUPING_TEXT, START_COLUMN_DB_NAME, t2.[Position] as START_POS, END_COLUMN_DB_NAME, T3.[Position] as END_POS FROM [UserModules].[dbo].[GROUPING_TEXT] t1 LEFT JOIN [UserModules].[dbo].TableFields T2 ON t1.START_COLUMN_DB_NAME = t2.DbFieldName AND t1.table_id = T2.tableid LEFT JOIN [UserModules].[dbo].TableFields T3 ON t1.END_COLUMN_DB_NAME = T3.DbFieldName AND t1.table_id = t3.tableid WHERE t1.[TABLE_ID] = @tableid AND t1.enabled = 'Y' ORDER BY t2.[Position] " com.Parameters.AddWithValue("tableid", tableId) Dim dss As Data.DataTable = sqlf.GetData(com) com.CommandText = "SELECT position, fieldname, dbfieldname, enabled, visible from [UserModules].[dbo].[TableFields] WHERE tableId = @tableid ORDER by position" 'com.Parameters.AddWithValue("tableid", tableId) Dim ds As Data.DataTable = sqlf.GetData(com) If Not IsNothing(ds) Then Dim table As Table = Nothing Dim tr As TableRow = Nothing Dim cnt As Integer = 1 Dim groupText As String = "" Dim prevGroupText As String = "" Dim p As Panel For Each dr As Data.DataRow In ds.Rows Try groupText = dss.Select(dr("position") & " >= START_POS and " & dr("position") & " <= END_POS ")(0)("GROUPING_TEXT") Catch ex As Exception groupText = "Common" End Try If prevGroupText <> groupText Then prevGroupText = groupText p = New Panel With {.HorizontalAlign = HorizontalAlign.Left} p.GroupingText = groupText table = New Table table.Width = Unit.Percentage(100) tr = New TableRow table.Rows.Add(tr) p.Controls.Add(table) PlaceForTableFieldsList.Controls.Add(p) ElseIf cnt Mod 3 = 0 Then tr = New TableRow table.Rows.Add(tr) End If Dim td As New TableCell td.Style.Add("text-align", "left") Dim chk As New CheckBox With {.Text = dr("fieldname"), .ID = "field_" & dr("position"), .CssClass = "db_field checkbox"} chk.Attributes.Add("data-dbfieldname", dr("dbfieldname")) chk.Style.Add("margin-top", "2px") chk.Style.Add("margin-bottom", "2px") If dr("visible") = "N" Then chk.ForeColor = Drawing.Color.Coral chk.ToolTip = "Not visible field" End If 'chk.CssClass = "checkbox" td.Controls.Add(chk) tr.Cells.Add(td) cnt += 1 Next End If End Sub Protected Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender 'If TableId.Value <> "0" Then ' BuildTableFieldsList(TableId.Value) 'End If End Sub End Class