/
ivan
/
ModMas
Обзор
Документация
Войти
/
ivan
/
ModMas
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
ModuleMaster/modulemaster.aspx.vb
208 строк
9 KB
i.krivokon
Initial commit
13 мар 2026, 13:49
13 мар 2026, 13:49
00d9fb6
Код
Авторство
О чём код?
Imports System.Data.SqlClient Partial Class ModuleMaster Inherits System.Web.UI.Page Dim bRecreateTable As Boolean Private sqlf As New sharedClasses.dbFunctions.SqlFunctions Protected Sub ddlModules_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles ddlModules.SelectedIndexChanged edTable.UpdateFilters("moduleid", "=", "'" & ddlModules.SelectedValue & "'") edTable.RefreshData() End Sub Protected Sub ImageButton1_Click(sender As Object, e As System.Web.UI.ImageClickEventArgs) Handles ImageButton1.Click edTable.UpdateFilters("moduleid", "=", "'" & ddlModules.SelectedValue & "'") edTable.RefreshData(True) End Sub Protected Sub ModuleRowSelected(rowNum As Integer) Handles edModule.RecordSelected lblModuleName.Text = edModule.GetCellContent(rowNum, 1) hfModuleID.Value = edModule.GetCellContent(rowNum, 0) edTable.SelectedIndex = -1 edTable.UpdateFilters("moduleid", "=", "'" & edModule.GetCellContent(rowNum, 0) & "'") edTable.RefreshData(True) End Sub Protected Sub TableRowSelected(rownum As Integer) Handles edTable.RecordSelected lblTableName.Text = edTable.GetCellContent(rownum, 2) hfTableId.Value = edTable.GetCellContent(rownum, 0) edFields.SelectedIndex = -1 edFields.UpdateFilters("tableid", "=", "'" & edTable.GetCellContent(rownum, 0) & "'") edFields.RefreshData(True) edResultingTable.tableName = edTable.GetCellContent(rownum, 4) edResultingTable.RefreshData(True) lnkTableView.Text = "View table" lnkTableView.NavigateUrl = "~/viewtable.aspx?tableid=" & edTable.GetCellContent(rownum, 0) End Sub Protected Sub FieldsRowSelected(rownum As Integer) Handles edFields.RecordSelected edFieldsValues.UpdateFilters("fieldid", "=", "'" & edFields.GetCellContent(rownum, 0) & "'") edFieldsValues.RefreshData(True) End Sub Protected Sub AddNewFieldToTable(ByRef com As SqlCommand) Handles edFields.NewRecordSaving com.Parameters("@tableid").Value = hfTableId.Value com.Parameters("@dbFieldName").Value = com.Parameters("@fieldname").Value.ToString.ToUpper.Replace(" ", "_").Replace(",", "_").Replace(".", "_").Replace(";", "_").Replace(":", "_").Replace("/", "_").Replace("\", "_").Replace("?", "_").Replace("!", "_").Replace("'", "_").Replace("""", "_").Replace("(", "_").Replace(")", "_").Replace("[", "_").Replace("]", "_").Replace("{", "_").Replace("}", "_").Replace("$", "_").Replace("@", "_").Replace("%", "_") sqlf.NonQuery("USE UserModules ALTER TABLE " & edResultingTable.TableName & " ADD [" & com.Parameters("@dbfieldname").Value.ToString & "] nvarchar(100)") End Sub Protected Sub DeletingFieldFromTable(itemid As Integer, ByRef cancelDelete As Boolean) Handles edFields.RecordDeleting Dim fieldName As String = sqlf.GetScalar("SELECT dbFieldName from [UserModules].[dbo].[TableFields] WHERE id = " & itemid) sqlf.NonQuery("USE UserModules ALTER TABLE " & edResultingTable.TableName & " DROP column [" & fieldName & "]") edResultingTable.RefreshData(True) End Sub Protected Sub AddingValuesForFiels(ByRef com As SqlCommand) Handles edFieldsValues.NewRecordSaving com.Parameters("@tableid").Value = edFields.GetCellContent(edFields.SelectedIndex, 1) com.Parameters("@FieldId").Value = edFields.GetCellContent(edFields.SelectedIndex, 0) com.Parameters("@FieldValue").Value = com.Parameters("@FieldText").Value End Sub Protected Sub AddedNewFieldToTable() Handles edFields.NewRecordSaved edResultingTable.RefreshData(True) End Sub Protected Sub CreatedNewTable(newTableId As Integer) Handles edTable.NewRecordSaved Dim sql As New StringBuilder 'Dim newTableId As Integer = sqlf.GetScalar("SELECT @@IDENTITY") sql.Clear() sql.Append("INSERT INTO [UserModules].[DBO].[TableFields](") sql.Append("[TableId]") sql.Append(",[FieldName]") sql.Append(",[FieldDescription]") sql.Append(",[FieldType]") sql.Append(",[DbFieldName]") sql.Append(",[Enabled]") sql.Append(",[Position]") sql.Append(",[Visible]") sql.Append(",[Filter]) VALUES (") sql.Append(newTableId) sql.Append(",'id'") sql.Append(",'id'") sql.Append(",'INT'") sql.Append(",'id'") sql.Append(",'N'") sql.Append(",0") sql.Append(",'N'") sql.Append(",'N')") sqlf.NonQuery(sql.ToString) End Sub Protected Sub CreateNewTable(ByRef com As SqlCommand) Handles edTable.NewRecordSaving Dim tableName As String = com.Parameters("@TableName").Value.ToString.ToUpper.Replace(" ", "_") com.Parameters("@DbTableName").Value = tableName com.Parameters("@Enabled").Value = "Y" com.Parameters("@ModuleId").Value = hfModuleID.Value Dim sql As New StringBuilder If CheckForTableExists(tableName) Then If bRecreateTable Then sqlf.NonQuery("drop table [UserModules].[user].[" & tableName & "]") Else Exit Sub End If Else sql.Append("USE [UserModules] ") sql.Append("SET ANSI_NULLS ON ") sql.Append("SET QUOTED_IDENTIFIER ON ") sql.Append("SET ANSI_PADDING ON ") sql.Append("CREATE TABLE [user].[" & tableName & "] ") sql.Append(" ( ") sql.Append(" [id] [INT] IDENTITY(1,1) NOT NULL ") sql.Append(", CONSTRAINT [PK_" & tableName & "] PRIMARY KEY CLUSTERED ([id] ASC ) ") sql.Append("WITH ") sql.Append(" ( ") sql.Append(" PAD_INDEX = OFF, ") sql.Append(" STATISTICS_NORECOMPUTE = OFF, ") sql.Append(" IGNORE_DUP_KEY = OFF, ") sql.Append(" ALLOW_ROW_LOCKS = ON, ") sql.Append(" ALLOW_PAGE_LOCKS = ON ") sql.Append(" ) ") sql.Append(" ON [PRIMARY] ") sql.Append(" ) ") sql.Append(" ON [PRIMARY]") sql.Append(vbNewLine) sql.Append(" SET ANSI_PADDING OFF ") sqlf.NonQuery(sql.ToString) sql.Clear() sql.Append("USE [UserModulesAttachments] ") sql.Append("SET ANSI_NULLS ON ") sql.Append("SET QUOTED_IDENTIFIER ON ") sql.Append("SET ANSI_PADDING ON ") sql.Append("CREATE TABLE [user].[" & tableName & "] ") sql.Append(" ( ") sql.Append(" [id] [INT] IDENTITY(1,1) NOT NULL, ") sql.Append(" [type] [VARCHAR](50) NOT NULL, ") sql.Append(" [parentId] [INT] NOT NULL, ") sql.Append(" [name] [nvarchar](500) NOT NULL, ") sql.Append(" [doc] [VARBINARY](MAX) NOT NULL, ") sql.Append(" [deleted] [CHAR](1) NOT NULL, ") sql.Append(" CONSTRAINT [PK_" & tableName & "] PRIMARY KEY CLUSTERED ( [id] ASC ) ") sql.Append("WITH ") sql.Append(" ( ") sql.Append(" PAD_INDEX = OFF, ") sql.Append(" STATISTICS_NORECOMPUTE = OFF, ") sql.Append(" IGNORE_DUP_KEY = OFF, ") sql.Append(" ALLOW_ROW_LOCKS = ON, ") sql.Append(" ALLOW_PAGE_LOCKS = ON ") sql.Append(" ) ") sql.Append(" ON [PRIMARY] ") sql.Append(" ) ") sql.Append(" ON [PRIMARY] ") sql.Append(" SET Ansi_Padding OFF ALTER TABLE [user].[" & tableName & "] ADD CONSTRAINT [DF_" & tableName & "_deleted] DEFAULT ") sql.Append(" ( ") sql.Append(" 'N' ") sql.Append(" ) ") sql.Append(" FOR [deleted]") sqlf.NonQuery(sql.ToString) End If End Sub Private Function CheckForTableExists(tablename As String) As Boolean If sqlf.GetScalar("SELECT count(*) FROM UserModules.sys.tables where name ='" & tablename & "'") <> 0 Then Return True Else Return False End If End Function 'For excel download Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Response.Redirect("modulemaster2.aspx") If Not IsPostBack Then edFields.UpdateSorting("position", "ASC") edFieldsValues.UpdateFilters("fieldid", "=", "0") If Not IsNothing(Request.QueryString("userLogin")) Then If Request.QueryString("userLogin").ToUpper = "I.KRIVOKON" Then Else edModule.UpdateFilters("id", "<>", "3") edTable.UpdateFilters("moduleid", "<>", "3") End If Else edModule.UpdateFilters("id", "<>", "3") edTable.UpdateFilters("moduleid", "<>", "3") End If End If End Sub End Class