Patterns: WIP Patterns2
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
Imports System.Windows.Forms
|
||||
Imports DigitalData.Controls.LookupGrid
|
||||
Imports DigitalData.Modules.Logging
|
||||
Imports DigitalData.Modules.ZooFlow
|
||||
Imports WINDREAMLib
|
||||
|
||||
''' <summary>
|
||||
@@ -16,7 +17,7 @@ Imports WINDREAMLib
|
||||
''' {#CTRL#CMB_2}
|
||||
''' {#WMI#String 39}
|
||||
''' </summary>
|
||||
Public Class clsPatterns
|
||||
Public Class Patterns2
|
||||
''' <summary>
|
||||
''' Complex patterns that rely on Windream
|
||||
''' </summary>
|
||||
@@ -48,19 +49,24 @@ Public Class clsPatterns
|
||||
|
||||
Private ReadOnly LogConfig As LogConfig
|
||||
Private ReadOnly Logger As Logger
|
||||
Private ReadOnly Base As PatternModule.BaseModule
|
||||
|
||||
Private ReadOnly ControlPanel As Panel
|
||||
Private ReadOnly IDBActive As Boolean
|
||||
Private ReadOnly Base As BaseFunctions
|
||||
|
||||
Private ReadOnly Modules As New List(Of IModule)
|
||||
|
||||
Public Sub New(pLogConfig As LogConfig)
|
||||
LogConfig = pLogConfig
|
||||
Logger = pLogConfig.GetLogger()
|
||||
Base = New BaseFunctions(LogConfig)
|
||||
Base = New PatternModule.BaseModule(LogConfig)
|
||||
|
||||
Modules.Add(New PatternModule.Internal(LogConfig, Base))
|
||||
Modules.AddRange({
|
||||
New PatternModule.Internal(LogConfig),
|
||||
New PatternModule.Clipboard(LogConfig),
|
||||
New PatternModule.Controls(LogConfig),
|
||||
New PatternModule.User(LogConfig)
|
||||
})
|
||||
End Sub
|
||||
|
||||
Public Sub New(pLogConfig As LogConfig, pControlPanel As Panel, pIDBActive As Boolean)
|
||||
@@ -69,12 +75,12 @@ Public Class clsPatterns
|
||||
IDBActive = pIDBActive
|
||||
End Sub
|
||||
|
||||
Public Function ReplaceAllValues(pInput As String, pPanel As Panel) As String
|
||||
Public Function ReplaceAllValues(pInput As String, pPanel As Panel, pUser As State.UserState) As String
|
||||
Dim oResult = pInput
|
||||
|
||||
For Each oModule In Modules
|
||||
Try
|
||||
Dim oArgs = GetReplaceMapForModule(oModule, pPanel)
|
||||
Dim oArgs = GetReplaceMapForModule(oModule, pPanel, pUser)
|
||||
oResult = oModule.Replace(oResult, oArgs)
|
||||
Catch ex As Exception
|
||||
Logger.Warn("Placeholders for String [{0}] could not be replaced completely in Module [{1}]. Skipping.", pInput, oModule.GetType.Name)
|
||||
@@ -85,30 +91,40 @@ Public Class clsPatterns
|
||||
Return oResult
|
||||
End Function
|
||||
|
||||
Private Function GetReplaceMapForModule(pModule As IModule, pPanel As Panel) As Dictionary(Of String, Object)
|
||||
Private Function GetReplaceMapForModule(pModule As IModule, pPanel As Panel, pUser As State.UserState) As Dictionary(Of String, Object)
|
||||
Dim oArgs As New Dictionary(Of String, Object)
|
||||
|
||||
Select Case pModule.GetType()
|
||||
Case GetType(PatternModule.Clipboard)
|
||||
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
If TypeOf pModule Is PatternModule.Clipboard Then
|
||||
oArgs.Add(PatternModule.Clipboard.CLIP_VALUE_BOARD, My.Computer.Clipboard.GetText())
|
||||
|
||||
ElseIf TypeOf pModule Is PatternModule.Internal Then
|
||||
oArgs.Add(PatternModule.Internal.INT_VALUE_USERNAME, Environment.UserName)
|
||||
oArgs.Add(PatternModule.Internal.INT_VALUE_MACHINE, Environment.MachineName)
|
||||
oArgs.Add(PatternModule.Internal.INT_VALUE_DOMAIN, Environment.UserDomainName)
|
||||
oArgs.Add(PatternModule.Internal.INT_VALUE_USERNAME, System.Environment.UserName)
|
||||
oArgs.Add(PatternModule.Internal.INT_VALUE_MACHINE, System.Environment.MachineName)
|
||||
oArgs.Add(PatternModule.Internal.INT_VALUE_DOMAIN, System.Environment.UserDomainName)
|
||||
oArgs.Add(PatternModule.Internal.INT_VALUE_DATE, Now.ToShortDateString)
|
||||
|
||||
ElseIf TypeOf pModule Is PatternModule.User Then
|
||||
oArgs.Add(PatternModule.User.USER_VALUE_EMAIL, pUser.Email)
|
||||
oArgs.Add(PatternModule.User.USER_VALUE_LANGUAGE, pUser.Language)
|
||||
oArgs.Add(PatternModule.User.USER_VALUE_PRENAME, pUser.GivenName)
|
||||
oArgs.Add(PatternModule.User.USER_VALUE_SHORTNAME, pUser.ShortName)
|
||||
oArgs.Add(PatternModule.User.USER_VALUE_SURNAME, pUser.Surname)
|
||||
oArgs.Add(PatternModule.User.USER_VALUE_USER_ID, pUser.UserId)
|
||||
oArgs.Add(PatternModule.User.USER_VALUE_USER_NAME, pUser.UserName)
|
||||
ElseIf TypeOf pModule Is PatternModule.Controls Then
|
||||
oArgs.Add(PatternModule.Controls.CTRL_VALUE_PANEL, pPanel)
|
||||
|
||||
End If
|
||||
|
||||
Return oArgs
|
||||
End Function
|
||||
|
||||
#Region "Helper Functions"
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' Wraps a pattern-type and -value in the common format: {#type#value}
|
||||
''' </summary>
|
||||
|
||||
Reference in New Issue
Block a user