/
ivan
/
ModMas
Обзор
Документация
Войти
/
ivan
/
ModMas
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ModuleMaster/authorization.aspx.vb
172 строки
7 KB
i.krivokon
Initial commit
13 мар 2026, 13:49
13 мар 2026, 13:49
00d9fb6
Код
Авторство
О чём код?
Partial Class authorization Inherits System.Web.UI.Page Private sqlf As New sharedClasses.dbFunctions.SqlFunctions Private Function GetAuthListData(tableid As Integer) As Data.DataTable Dim sql As New StringBuilder sql.Append(" SELECT ") sql.Append(" t5.ModuleName,") sql.Append(" t4.TableName, ") sql.Append(" t2.GroupName, ") sql.Append(" t2.GroupDescription,") sql.Append(" t3.userName,") sql.Append(" t3.userId,") sql.Append(" t1.accessType ") sql.Append(" FROM ") sql.Append(" UserModules.dbo.[Authorization] t1") sql.Append(" LEFT JOIN UserModules.dbo.Groups t2 ON t1.groupId = t2.id") sql.Append(" LEFT JOIN UserModules.dbo.Users t3 ON t1.groupId = t3.groupId") sql.Append(" LEFT JOIN UserModules.dbo.ModuleTables t4 ON t1.tableId = t4.id") sql.Append(" LEFT JOIN UserModules.dbo.ModuleMaster t5 ON t4.ModuleId = t5.id ") sql.Append(" where t4.id = " & tableid) Try GetAuthListData = sqlf.GetData(sql.ToString) Catch ex As Exception GetAuthListData = Nothing End Try End Function Private Function GetAuthGroupsData(tableid As Integer) As Data.DataTable Dim sql As New StringBuilder sql.Append(" SELECT ") sql.Append(" t5.ModuleName,") sql.Append(" t4.TableName, ") sql.Append(" t2.GroupName, ") sql.Append(" t2.GroupDescription,") sql.Append(" t3.userName,") sql.Append(" t3.userId,") sql.Append(" t1.accessType ") sql.Append(" FROM ") sql.Append(" UserModules.dbo.[Authorization] t1") sql.Append(" LEFT JOIN UserModules.dbo.Groups t2 ON t1.groupId = t2.id") sql.Append(" LEFT JOIN UserModules.dbo.Users t3 ON t1.groupId = t3.groupId") sql.Append(" LEFT JOIN UserModules.dbo.ModuleTables t4 ON t1.tableId = t4.id") sql.Append(" LEFT JOIN UserModules.dbo.ModuleMaster t5 ON t4.ModuleId = t5.id ") sql.Append(" where t4.id = " & tableid) Try GetAuthGroupsData = sqlf.GetData(sql.ToString) Catch ex As Exception GetAuthGroupsData = Nothing End Try End Function Private Function GetAuthUsersData(tableid As Integer) As Data.DataTable Dim sql As New StringBuilder sql.Append(" SELECT ") sql.Append(" t5.ModuleName,") sql.Append(" t4.TableName, ") sql.Append(" t2.GroupName, ") sql.Append(" t2.GroupDescription,") sql.Append(" t3.userName,") sql.Append(" t3.userId,") sql.Append(" t1.accessType ") sql.Append(" FROM ") sql.Append(" UserModules.dbo.[Authorization] t1") sql.Append(" LEFT JOIN UserModules.dbo.Groups t2 ON t1.groupId = t2.id") sql.Append(" LEFT JOIN UserModules.dbo.Users t3 ON t1.groupId = t3.groupId") sql.Append(" LEFT JOIN UserModules.dbo.ModuleTables t4 ON t1.tableId = t4.id") sql.Append(" LEFT JOIN UserModules.dbo.ModuleMaster t5 ON t4.ModuleId = t5.id ") sql.Append(" where t4.id = " & tableid) Try GetAuthUsersData = sqlf.GetData(sql.ToString) Catch ex As Exception GetAuthUsersData = Nothing End Try End Function Protected Sub RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles sgAuthorization.RowCommand Dim comname As String = e.CommandName End Sub Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Dim tf As New TemplateField tf.ItemTemplate = New GRidViewTemplate(ListItemType.Item, "Edit Group", "button", "editGroup", "GroupName") sgAuthorization.Grid.Columns.Add(tf) Dim dt As Data.DataTable = GetAuthListData(Request.QueryString("tableid")) If dt IsNot Nothing Then sgAuthorization.Grid.DataSource = dt sgAuthorization.Grid.DataBind() End If dt = GetAuthGroupsData(Request.QueryString("tableid")) If dt IsNot Nothing Then sgGroup.Grid.DataSource = dt sgGroup.Grid.DataBind() End If dt = GetAuthUsersData(Request.QueryString("tableid")) If dt IsNot Nothing Then sgUsers.Grid.DataSource = dt sgUsers.Grid.DataBind() End If End Sub End Class Public Class GRidViewTemplate Implements ITemplate Private _templateType As ListItemType Private _columnName As String Private _controlType As String Private _commandName As String Private _commandArgument As String Public Sub New(type As ListItemType, colname As String, Optional controlType As String = "", Optional commandName As String = "", Optional commandArgument As String = "") _templateType = type _columnName = colname _controlType = controlType.ToUpper _commandName = commandName _commandArgument = commandArgument End Sub Public Sub InstantiateIn(container As Control) Implements ITemplate.InstantiateIn Select Case _templateType Case ListItemType.Header Dim lbl As New Label lbl.Text = _columnName container.Controls.Add(lbl) Case ListItemType.Item Dim o As Control Select Case _controlType Case "TEXTBOX" o = New TextBox Case "BUTTON" o = New Button With {.Text = _columnName, .CommandName = _commandName} Case "CHECKBOX" o = New CheckBox Case Else o = New Label End Select AddHandler o.DataBinding, AddressOf cntrl_DataBinding container.Controls.Add(o) Case ListItemType.EditItem Case ListItemType.Footer End Select End Sub Private Sub cntrl_DataBinding(sender As Object, e As EventArgs) Dim cntrl As Control = CType(sender, Control) Dim container As GridViewRow = CType(cntrl.NamingContainer, GridViewRow) 'Dim dataValue As Object = DataBinder.Eval(container.DataItem, _columnName) If TypeOf (cntrl) Is Button Then CType(cntrl, Button).CommandArgument = DataBinder.Eval(container.DataItem, _commandArgument) ElseIf TypeOf (cntrl) Is TextBox Then CType(cntrl, TextBox).Text = DataBinder.Eval(container.DataItem, _columnName).ToString ElseIf TypeOf (cntrl) Is CheckBox Then End If End Sub End Class