Patterns: Improve control values modules, accept list of controls

This commit is contained in:
Jonathan Jenne 2022-06-29 16:25:39 +02:00
parent ef2bb08ddc
commit 960c7ecb27
2 changed files with 52 additions and 6 deletions

View File

@ -20,33 +20,66 @@ Namespace Modules
End Sub
Public Function Replace(pInput As String, pPanel As Panel) As String
Dim oControls As List(Of Control) = pPanel.Controls.Cast(Of Control).ToList()
Return Replace(pInput, oControls)
End Function
Public Function Replace(pInput As String, pControls As List(Of Control)) As String
Dim oResult = pInput
Dim oCounter = 0
While ContainsPattern(oResult, PatternIdentifier)
Try
Dim oControlName As String = GetNextPattern(oResult, PatternIdentifier).Value
Dim oControl As Control = pPanel.Controls.Find(oControlName, False).FirstOrDefault()
Dim oControl As Control = pControls.
Where(Function(control) control.Name = oControlName).
FirstOrDefault()
If oControl IsNot Nothing Then
Dim oReplaceValue As String
Select Case oControl.GetType.ToString
Case GetType(TextBox).ToString
Select Case oControl.GetType
Case GetType(TextBox)
oReplaceValue = oControl.Text
Case GetType(LookupControl3).ToString
Case GetType(DevExpress.XtraEditors.TextEdit)
Dim oTextEdit As DevExpress.XtraEditors.TextEdit = oControl
oReplaceValue = oTextEdit.EditValue
Case GetType(DevExpress.XtraEditors.DateEdit)
Dim oDateEdit As DevExpress.XtraEditors.DateEdit = oControl
oReplaceValue = oDateEdit.EditValue
Case GetType(DevExpress.XtraEditors.LookUpEdit)
Dim oLookupEdit As DevExpress.XtraEditors.LookUpEdit = oControl
oReplaceValue = oLookupEdit.EditValue
Case GetType(LookupControl3)
Dim oLookupControl3 As LookupControl3 = oControl
If oLookupControl3.Properties.SelectedValues.Count = 1 Then
oReplaceValue = oLookupControl3.Properties.SelectedValues.Item(0)
Else
oReplaceValue = "0"
End If
Case GetType(ComboBox).ToString
Case GetType(ComboBox)
oReplaceValue = oControl.Text
Case GetType(CheckBox).ToString
Case GetType(DevExpress.XtraEditors.ComboBoxEdit)
Dim oCombobox As DevExpress.XtraEditors.ComboBoxEdit = oControl
oReplaceValue = oCombobox.EditValue
Case GetType(CheckBox)
Dim oCheckBox As CheckBox = oControl
oReplaceValue = oCheckBox.Checked
Case GetType(DevExpress.XtraEditors.CheckEdit)
Dim oCheckEdit As DevExpress.XtraEditors.CheckEdit = oControl
oReplaceValue = oCheckEdit.Checked
Case Else
oReplaceValue = "0"
End Select
oResult = ReplacePattern(oResult, PatternIdentifier, oReplaceValue)
@ -61,5 +94,6 @@ Namespace Modules
Return oResult
End Function
End Class
End Namespace

View File

@ -77,6 +77,18 @@ Public Class Patterns2
End Try
End Function
Public Function ReplaceControlValues(pInput As String, pControls As List(Of Control)) As String
Try
Logger.Debug("Replacing Control Values")
Dim oModule = New Modules.Controls(LogConfig)
Return oModule.Replace(pInput, pControls)
Catch ex As Exception
Logger.Warn("Error occurred while replacing Control Values")
Logger.Error(ex)
Return pInput
End Try
End Function
Public Function ReplaceWindreamValues(pInput As String, pWMObject As WMObject) As String
Try
Logger.Debug("Replacing Windream Values")