2021-12-08 12:51:22 +01:00

62 lines
2.5 KiB
VB.net

Imports DigitalData.Modules.Logging
Imports DigitalData.Modules.ZooFlow
Namespace Modules
Public Class User
Inherits BaseModule
Implements IModule
Public Const USER_VALUE_PRENAME = "PRENAME"
Public Const USER_VALUE_SURNAME = "SURNAME"
Public Const USER_VALUE_EMAIL = "EMAIL"
Public Const USER_VALUE_SHORTNAME = "SHORTNAME"
Public Const USER_VALUE_LANGUAGE = "LANGUAGE"
Public Const USER_VALUE_USER_ID = "USER_ID"
Public Const USER_VALUE_USER_NAME = "USER_NAME"
Public Property PatternIdentifier As String = "USER" Implements IModule.PatternIdentifier
Public Property IsComplex As Boolean = True Implements IModule.IsComplex
Public Sub New(pLogConfig As LogConfig)
MyBase.New(pLogConfig)
End Sub
Public Function Replace(pInput As String, pUser As State.UserState) As String
Dim oResult = pInput
Dim oCounter = 0
While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_PRENAME)
oResult = ReplacePattern(oResult, PatternIdentifier, pUser.GivenName)
IncrementCounterOrThrow(oCounter)
End While
While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_SURNAME)
oResult = ReplacePattern(oResult, PatternIdentifier, pUser.Surname)
IncrementCounterOrThrow(oCounter)
End While
While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_EMAIL)
oResult = ReplacePattern(oResult, PatternIdentifier, pUser.Email)
IncrementCounterOrThrow(oCounter)
End While
While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_SHORTNAME)
oResult = ReplacePattern(oResult, PatternIdentifier, pUser.ShortName)
IncrementCounterOrThrow(oCounter)
End While
While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_LANGUAGE)
oResult = ReplacePattern(oResult, PatternIdentifier, pUser.Language)
IncrementCounterOrThrow(oCounter)
End While
While ContainsPatternAndValue(oResult, PatternIdentifier, USER_VALUE_USER_ID)
oResult = ReplacePattern(oResult, PatternIdentifier, pUser.UserId)
IncrementCounterOrThrow(oCounter)
End While
Return oResult
End Function
End Class
End Namespace