Functions/Update-DqEntity.ps1
Function Update-DqEntity { <# .SYNOPSIS Deze functie update een enkele entiteit uit een DQ Monitor Webservice. .DESCRIPTION De Update-DqEntity functie geeft de mogelijkheid om een enkele entiteit te updaten uit een DQ Monitor Webservice. Voordat deze functie gebruikt wordt, zorg ervoor dat de Context is gezet via functie Set-DqContext. .PARAMETER Name De unieke naam van het entiteit zoals deze bekend is bij de DQ Monitor Webservice. .PARAMETER PluralName De meervoudsnaam van het entiteit zoals deze opgeslagen moet worden bij de DQ Monitor Webservice. .PARAMETER Description De omschrijving van het entiteit zoals deze opgeslagen moet worden bij de DQ Monitor Webservice. .PARAMETER EntityObject In plaats van individueel parameters opgeven van het entiteit (naam, meervoudsnaam omschrijving) en kan je via deze parameter het gehele object meegeven dat geüpdatet moet worden bij de DQ Monitor Webservice. .REMARKS Let op: Indien er nog controles aan een entiteit hangen is het niet mogelijk het entiteit te verwijderen. Zorg er eerst voor dat het entiteit niet meer wordt gebruikt. .INPUTS Geen. .OUTPUTS Geen. .EXAMPLE PS> Update-DqEntity -Name "Contract" -PluralName "Contracten" -Description "andere omschrijving" Entiteit 'entiteit' is geüpdatet. 1 entiteit(en) opgevoerd. .EXAMPLE PS> Update-DqEntity -Name "Contract" -Description "andere omschrijving" Entiteit 'entiteit' is geüpdatet. 1 entiteit(en) opgevoerd. .EXAMPLE PS> $Entiteit = Get-DqEntities -CustomOnly | Select -First 1 $Entiteit.Description "Aangepaste omschrijving" $Entiteit | Update-DqEntity Entiteit 'entiteit' is geüpdatet. 1 entiteit(en) opgevoerd. .LINK Set-DqContext #> [CmdletBinding(DefaultParameterSetName="ByEntityName")] Param( [Parameter(Mandatory=$True, ParameterSetName="ByEntityName", position=1)] [ValidateNotNullOrEmpty()] [String] $Name, [Parameter(Mandatory=$False, ParameterSetName="ByEntityName", position=2)] [ValidateNotNullOrEmpty()] [String] $PluralName, [Parameter(Mandatory=$False, ParameterSetName="ByEntityName", position=3)] [ValidateNotNullOrEmpty()] [String] $Description, [Parameter(Mandatory=$True, ParameterSetName="ByEntityObject", ValueFromPipeline, position=1)] [ValidateNotNull()] [PsCustomObject] $EntityObject ) If ($PSCmdlet.ParameterSetName.Equals("ByEntityName")) { $EntityObjects = Get-DqEntities -CustomOnly | Where-Object { $_.Name -eq $Name } If (-not($EntityObjects)) { Write-Host "Entiteit '$($Name)' kon niet worden gevonden." -ForegroundColor Red Return $False; } $EntityObject = $EntityObjects | Select -First 1 } If (-not($EntityObject.IsCustom)) { Write-Host "Entiteit '$($EntityObject.Name)' is geen eigen gemaakte entiteit. Wijzigen wordt niet ondersteund." -ForegroundColor Red Return; } If (-not($PSBoundParameters.ContainsKey('PluralName')) -and -not($PSBoundParameters.ContainsKey('Description'))) { Write-Warning "Er is geen waarde opgegeven die aangepast moet worden. Er zijn dan ook geen wijzigingen aangebracht." Return; } If (-not([String]::IsNullOrEmpty($PluralName))) { $EntityObject.PluralName = $PluralName } If (-not([String]::IsNullOrEmpty($Description))) { $EntityObject.Description = $Description } $EntitiesToUpload = @() $EntitiesToUpload += [PSCustomObject]@{ Entity = [PSCustomObject] @{ Name = $EntityObject.Name; PluralName = $EntityObject.PluralName; Description = $EntityObject.Description; } } Upload-EntitiesToApi -EntitiesToUpload $EntitiesToUpload } |