jj: Add & Use ClassPatterns

This commit is contained in:
Jonathan Jenne
2018-05-30 16:31:03 +02:00
parent 0c40601903
commit 603ff5cd68
9 changed files with 711 additions and 562 deletions

View File

@@ -4,6 +4,25 @@ Imports Oracle.ManagedDataAccess.Client
Public Class frmSQL_DESIGNER
Private _windreamPM As ClassPMWindream
Dim CurrentPosition As Integer = 0
Dim CurrentPlaceholders As New Placeholders()
Dim CurrentTableType As String
Dim AtPlaceholderPattern As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" '"\[%[0-9A-Za-z_-]{1,}\]"
Public Class Placeholders
Public Property RecordId As Integer
Public Property ParentRecordId As Integer
Public Property FormId As Integer
End Class
Public Property Value() As String
Get
Return SQL_COMMANDTextBox.Text
End Get
Set(value As String)
SQL_COMMANDTextBox.Text = value
End Set
End Property
Private Sub TBPM_PROFILE_FINAL_INDEXINGBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs)
Validate()
TBPM_PROFILE_FINAL_INDEXINGBindingSource.EndEdit()
@@ -60,24 +79,7 @@ Public Class frmSQL_DESIGNER
End Try
End Sub
Dim CurrentPosition As Integer = 0
Dim CurrentPlaceholders As New Placeholders()
Dim CurrentTableType As String
Dim AtPlaceholderPattern As String = "\[%{1}[a-zA-Z0-9\!\$\&\/\(\)\=\?\,\.\-\;\:_öÖüÜäÄ\#\'\+\*\~\{\}\@\€\<\>\ ]+]{1}" '"\[%[0-9A-Za-z_-]{1,}\]"
Public Class Placeholders
Public Property RecordId As Integer
Public Property ParentRecordId As Integer
Public Property FormId As Integer
End Class
Public Property Value() As String
Get
Return SQL_COMMANDTextBox.Text
End Get
Set(value As String)
SQL_COMMANDTextBox.Text = value
End Set
End Property
Private Sub SQL_COMMANDTextBox_TextChanged(sender As Object, e As EventArgs) Handles SQL_COMMANDTextBox.TextChanged, SQL_COMMANDTextBox.Click
CurrentPosition = SQL_COMMANDTextBox.SelectionStart
@@ -90,16 +92,23 @@ Public Class frmSQL_DESIGNER
CheckForPlaceholders()
End Sub
Private Sub CheckForPlaceholders()
Dim count As Integer = 0
Dim text As String = Me.Value
Dim atPlaceholderRegex = New Regex(AtPlaceholderPattern, RegexOptions.IgnoreCase)
Dim matches As MatchCollection = atPlaceholderRegex.Matches(text)
Dim text As String = SQL_COMMANDTextBox.Text
dgvPlaceholders.Rows.Clear()
For Each match As Match In matches
dgvPlaceholders.Rows.Add({match.Value, ""})
Dim patterns As List(Of ClassPatterns.Pattern) = ClassPatterns.GetAllPatterns(text)
For Each pattern In patterns
dgvPlaceholders.Rows.Add({pattern.ToString, ""})
Next
'Dim count As Integer = 0
'Dim text As String = Me.Value
'Dim atPlaceholderRegex = New Regex(AtPlaceholderPattern, RegexOptions.IgnoreCase)
'Dim matches As MatchCollection = atPlaceholderRegex.Matches(text)
'dgvPlaceholders.Rows.Clear()
'For Each match As Match In matches
' dgvPlaceholders.Rows.Add({match.Value, ""})
'Next
End Sub
Private Sub btnTestSQL_Click(sender As Object, e As EventArgs) Handles btnTestSQL.Click
@@ -111,7 +120,11 @@ Public Class frmSQL_DESIGNER
' Wenn Ersetzung ausgefüllt wurde, Platzhalter damit ersetzen
If Not String.IsNullOrEmpty(replacement) Then
query = query.Replace(placeholder, replacement)
Dim pattern As New ClassPatterns.Pattern(placeholder)
query = ClassPatterns.ReplacePattern(query, pattern.Type, replacement)
'query = query.Replace(placeholder, replacement)
Else
MsgBox("Bitte geben Sie für den Platzhalter " & placeholder & " einen Wert an!", MsgBoxStyle.Exclamation, "Fehlende Platzhalter Ersetzung")
Exit Sub
@@ -192,15 +205,7 @@ Public Class frmSQL_DESIGNER
End Try
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAddIndex.Click
If cmbIndexe.SelectedIndex <> -1 Then
Dim val As String = "[%" & cmbIndexe.Text & "]"
Dim altePosition As Integer = Me.SQL_COMMANDTextBox.SelectionStart()
Me.SQL_COMMANDTextBox.Text = Me.SQL_COMMANDTextBox.Text.Insert(altePosition, val)
Me.SQL_COMMANDTextBox.SelectionStart = altePosition + val.Length
End If
End Sub
Private Sub btnSaveSQLCommand_Click(sender As Object, e As EventArgs) Handles btnSaveSQLCommand.Click
If CURRENT_DESIGN_TYPE = "FINAL_INDEX" Then
@@ -223,14 +228,39 @@ Public Class frmSQL_DESIGNER
Private Sub btnAddControl_Click(sender As Object, e As EventArgs) Handles btnAddControl.Click
If cmbControls.SelectedIndex <> -1 Then
Dim val As String = "[%" & cmbControls.Text & "]"
Dim altePosition As Integer = Me.SQL_COMMANDTextBox.SelectionStart()
Me.SQL_COMMANDTextBox.Text = Me.SQL_COMMANDTextBox.Text.Insert(altePosition, val)
Me.SQL_COMMANDTextBox.SelectionStart = altePosition + val.Length
Dim value As String = ClassPatterns.WrapPatternValue("CTRL", cmbControls.Text)
InsertAtSelection(value)
End If
End Sub
Private Sub btnAddStatic_Click(sender As Object, e As EventArgs) Handles btnAddStatic.Click
If cmbStatic.SelectedIndex <> -1 Then
Dim value As String = ClassPatterns.WrapPatternValue("INT", cmbStatic.Text)
InsertAtSelection(value)
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnAddIndex.Click
If cmbIndexe.SelectedIndex <> -1 Then
Dim value As String = ClassPatterns.WrapPatternValue("WMI", cmbIndexe.Text)
InsertAtSelection(value)
End If
End Sub
Private Sub InsertAtSelection(str As String)
Dim altePosition As Integer = SQL_COMMANDTextBox.SelectionStart()
SQL_COMMANDTextBox.Text = SQL_COMMANDTextBox.Text.Insert(altePosition, str)
SQL_COMMANDTextBox.SelectionStart = altePosition + str.Length
End Sub
Private Sub btnShowConnections_Click(sender As Object, e As EventArgs) Handles btnShowConnections.Click
frmConnection.ShowDialog()
End Sub
Private Sub btnAddUser_Click(sender As Object, e As EventArgs) Handles btnAddUser.Click
If cmbUser.SelectedIndex <> -1 Then
Dim value As String = ClassPatterns.WrapPatternValue("USER", cmbUser.Text)
InsertAtSelection(value)
End If
End Sub
End Class