internal/tepp/SMAX.EntityProperties.tepp.ps1
<#
.SYNOPSIS Registers a PSFramework TEPP scriptblock for SMAX entity properties. .DESCRIPTION This function registers a TEPP scriptblock named "SMAX.EntityProperties". It retrieves the connection information and fetches entity properties based on the provided entity type and command name. .PARAMETER Name The name of the TEPP scriptblock to register. .PARAMETER ScriptBlock The scriptblock to register. .EXAMPLE Register-PSFTeppScriptblock -Name "SMAX.EntityProperties" -ScriptBlock { ... } #> Register-PSFTeppScriptblock -Name "SMAX.EntityProperties" -ScriptBlock { try { if ([string]::IsNullOrEmpty($fakeBoundParameter.Connection)) { $connection = Get-SMAXLastConnection -EnableException $false } else { $connection = $fakeBoundParameter.Connection } $EntityType = $fakeBoundParameter.EntityType if ([string]::IsNullOrEmpty($EntityType)){return} switch ($commandName){ 'New-SMAXEntity' { $definitions = Get-PSFConfigValue -FullName "$(Get-SMAXConfPrefix -Connection $Connection).entityDefinition" return $definitions.$EntityType.properties | where-object required -eq $false | Select-Object @{name = "Text"; expression = { $_.name } }, @{name = "ToolTip"; expression = { $_.locName}} } default{ $definitions = Get-PSFConfigValue -FullName "$(Get-SMAXConfPrefix -Connection $Connection).tepp.EntryProperties" if(-not $definitions.containskey($EntityType)){return} # Write-PSFMessage "$EntityType>$wordToComplete" if ($wordToComplete -match "([^.]+)\..*"){ $subPropName = $wordToComplete -replace "([^.]+)\..*",'$1' if ($definitions.containskey("$EntityType.$subPropName")){ # Write-PSFMessage "$EntityType>>$subPropName" # Write-PSFMessage "`$definitions.`"$EntityType.$subPropName`"" return $definitions."$EntityType.$subPropName" #.properties | Select-Object @{name = "Text"; expression = { $_.name } }, @{name = "ToolTip"; expression = { $_.locName}} } } return $definitions.$EntityType #.properties | Select-Object @{name = "Text"; expression = { $_.name } }, @{name = "ToolTip"; expression = { $_.locName}} } } } catch { return "Error" } } |