diklabu_termine.psm1
<# .Synopsis Einen neuen Termin erzeugen .DESCRIPTION Einen neuen Termin erzeugen .EXAMPLE New-Date -ID 140 -sqldate "2017-10-10" Erzeugt eine neuen Termin f. die TerminCategorie 140 .EXAMPLE "2017-10-10","2017-10-11" | New-Date -ID 140 Erzeugt die neuen Termin für die Termincategorie 140 .EXAMPLE New-Date -ID 140 -date (get-date) Erzeugt die neuen Termin des aktuellen für die Termincategorie 140 #> function New-Date { [CmdletBinding()] Param ( [Parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParametersetName='sql')] [String]$sqldate, [Parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParametersetName='obj')] [DateTime]$date, [Parameter(Mandatory=$true,Position=1)] [int]$idTermin, # Adresse des Diklabu Servers [String]$uri=$global:server, [switch]$whatif=$false ) Begin { if (-not $global:auth_token) { Write-Error "Sie sind nicht am diklabu angemeldet, versuchen Sie login-diklabu" return; } $headers=@{} $headers["content-Type"]="application/json;charset=iso-8859-1" $headers["auth_token"]=$global:auth_token; } Process { $termin=echo "" | Select-Object -Property "ID_TERMIN","DATUM" $termin.ID_TERMIN=$idTermin if ($date) { $termin.DATUM=(Get-Date $date -UFormat "%Y-%m-%d")+"T00:00:00" } else { $termin.DATUM=$sqldate+"T00:00:00" } try { if (-not $whatif) { $r=Invoke-RestMethod -Method Post -Uri ($uri+"termin") -Headers $headers -Body (ConvertTo-Json $termin) } Write-Verbose "Trage den Termin $termin für die Kategorie $idTermin ein" return $r; } catch { Write-Error "New-Date: Status-Code"$_.Exception.Response.StatusCode.value__ " "$_.Exception.Response.StatusDescription } } End { } } <# .Synopsis Termindaten abfragen .DESCRIPTION Termindaten abfragen .EXAMPLE Get-Dates Abfrage der Termincategorien #> function Get-Dates { [CmdletBinding()] Param ( ) Begin { if (-not $global:auth_token) { Write-Error "Sie sind nicht am diklabu angemeldet, versuchen Sie login-diklabu" return; } $r=Invoke-RestMethod -Method Get -Uri ($Global:server+"noauth/termine") return $r; } } |