PrivateFunctions/Add-Entity.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
Function Add-Entity { [OutputType([Bool])] [CmdletBinding()] Param( [Parameter(Mandatory=$True)] [ValidateNotNull()] [String] $Name, [Parameter(Mandatory=$True)] [ValidateNotNullOrEmpty()] [String] $PluralName, [Parameter(Mandatory=$True)] [String] $Description ) Validate-Context Write-Verbose "Toevoegen van entiteit met naam '$($Name)'..." Try { $EntityObject = @{ Entity = @{ Name = $Name; PluralName = $PluralName; Description = $Description } } $EntityData = [System.Text.Encoding]::UTF8.GetBytes(($EntityObject | ConvertTo-Json)) $Response = Invoke-WebRequest -UseBasicParsing -Uri "$($DqContext.GetEntityControllerUrl())" -Method Post -Header $DqContext.Headers -Body $EntityData Return $True } Catch [System.Net.WebException] { $Stream = $_.Exception.Response.GetResponseStream() $StreamReader = New-Object System.IO.StreamReader($Stream) $StreamReader.BaseStream.Position = 0 $ResponseBody = $StreamReader.ReadToEnd() $ResponseBody = $ResponseBody | ConvertFrom-Json -ErrorAction SilentlyContinue $StreamReader.Close() $ErrorMessage = "Fout bij toevoegen van entiteit met naam '$($Name)': '$($_.Exception.Message)'." If ($ResponseBody -and $ResponseBody.Message) { $ErrorMessage = $ErrorMessage + [char]10 + [char]13 + " + DetailedMessage: $($ResponseBody.Message)" } Write-Error $ErrorMessage Return $False } } |