Public/Get-NonPSJob.ps1

<#
.Synopsis
    Get employment objects from the Swedish employment service
 
.DESCRIPTION
    Build PowerShell objects from the Swedish employment service. This is a example module
    that is used to demonstrate the use of PowerShell 5 and object based on classes.
 
.EXAMPLE
    PS C:\> Get-NonPsJob
 
    List all employment objects
 
.EXAMPLE
    PS C:\> Get-NonPsJob | ? {$_.Workplace -like "*McDon*"}
 
    Gets all job that should come frome McDonals.
 
.EXAMPLE
    PS C:\>Get-NonPSJob | ? {$_.Workplace -like "*McDo*" -and $_.Location -like "*stock*"}
 
    Gets all job that should come frome McDonals and location is Stockholm
 
.EXAMPLE
    PS C:\>$Jobs = Get-NonPSJob | ? {$_.Workplace -like "*McDo*" -and $_.Location -like "*stock*"}
    PS C:\>$Jobs[0].ApplyForJob()
 
    Domonstrates that the Objects are built on PowerShell 5 Classes and use its own object methods.
 
.LINK
    GitHub project http://GitHub.com/ulfvins/PowerShell/Modules/NonPSJob
 
#>

Function Get-NonPSJob{

    Param(
        [string]$Category = "Restaurangbitr%C3%A4de",
        [string]$LanId    = "1",
        [string]$NumberOf = "300"            
    )

    BEGIN{
        $Header      = @{  
                       "Accept"="application/json"
                       "Content-Type"="application/json;charset=utf-8"
                       "accept-language"="sv"
                       }
        $URL         = "http://api.arbetsformedlingen.se/platsannons/matchning?lanid=1&nyckelord="           
        $Query       = "$URL$Category&antalrader=$NumberOf"
        $QueryResult = Invoke-RestMethod -Uri $Query -Method Get -Headers $Header | Select-Object -ExpandProperty matchningslista | select -ExpandProperty matchningdata
    }
    PROCESS{
    
        $Result = @()
       
        ForEach ($r in $QueryResult){

            $NonPSJobObject   = New-Object NonPSJob -Property @{
                Title         = $($r.annonsrubrik)
                Workplace     = $($r.arbetsplatsnamn)
                Location      = $($r.kommunnamn)
                Category      = $($r.yrkesbenamning)
                NumberOfSeats = $($r.antalplatser)
                Url           = $($r.annonsurl)
            }
            $Result += $NonPSJobObject
        }

        Return  $Result
    }
    END{}   
}