Functions/Get-DqEntitiesFormatted.ps1
Function Get-DqEntitiesFormatted { <# .SYNOPSIS Deze functie haalt alle entiteiten op uit een DQ Monitor Webservice en presenteert deze op een leesbare manier. .DESCRIPTION De Get-DqEntitiesFormatted functie haalt een lijst op van entiteiten die bekend zijn bij de DQ Monitor Webservice. Het resultaat wordt in een geformatteerde tabel gepresenteerd. Voordat deze functie gebruikt wordt, zorg ervoor dat de Context is gezet via functie Set-DqContext. .PARAMETER CustomOnly Optioneel: Indicatie dat alleen een lijst met eigen gemaakte entiteiten van de klant opgehaald moeten worden. .PARAMETER Entities Optioneel: Indien entiteiten via deze parameter worden meegegeven (afkomstig uit Get-DqEntities) dan worden deze geformatteerd weergegeven. .INPUTS Geen. .OUTPUTS Geen. .EXAMPLE PS> Get-DqEntitiesFormatted Naam Meervoudsnaam Omschrijving -------- ------------- ---------------------------------------- Eenheid Eenheden Een verzameling eenheden. Relatie Relaties Een relatie is een natuurlijk persoon, rechtspersoon of groep van personen die in het verleden, heden of in de toekomst een betrekking heeft of iets van doen heeft met de corporatie. Contract Contracten Een verzameling van contracten gebaseerd op natuurlijke en onnatuurlijke personen. Test Testen Een testentiteit. .EXAMPLE PS> Get-DqEntitiesFormatted -CustomOnly Naam Meervoudsnaam Omschrijving -------- ------------- ---------------------------------------- Contract Contracten Een verzameling van contracten gebaseerd op natuurlijke en onnatuurlijke personen. Test Testen Een testentiteit. .LINK Set-DqContext #> [CmdletBinding(DefaultParameterSetName="Automatic")] Param( [Parameter(Mandatory=$False, position=1, ParameterSetName="Automatic")] [Switch] $CustomOnly, [Parameter(Mandatory=$False, position=2, ParameterSetName="ByEntities")] [ValidateNotNull()] [Array] $Entities ) If ($PSCmdlet.ParameterSetName -eq "Automatic") { If ($CustomOnly.IsPresent -and $CustomOnly) { [Array]$Entities = Get-DqEntities -CustomOnly } Else { [Array]$Entities = Get-DqEntities } } If ($Entities.Count -eq 0) { Write-Warning "Geen entiteiten gevonden." Return; } $LengthMaxLength = ($Entities | Select -ExpandProperty Name | Measure-Object -Maximum -Property Length).Maximum $PluralMaxLength = ($Entities | Select -ExpandProperty PluralName | Measure-Object -Maximum -Property Length).Maximum Write-Host " " Write-Host "Naam".PadRight($LengthMaxLength) "Meervoudsnaam".PadRight($PluralMaxLength) "Omschrijving" Write-Host "-".PadRight($LengthMaxLength, "-") "-".PadRight($PluralMaxLength, "-") "-".PadRight(40, "-") ForEach($Entity in $Entities) { $Description = $Entity.Description.Replace([Char]10, ' ').Replace([Char]13, ' ') If ($Description.Length -gt 140) { $Description = $Description.Substring(0, 140); } Write-Host ([String]::Format("{0} {1} {2}", $Entity.Name.PadRight($LengthMaxLength), $Entity.PluralNAme.PadRight($PluralMaxLength), $Entity.Description)); } } |