Public/Get-AHStore.ps1
function Get-AHStore { [CmdletBinding()] param ( [int[]]$ID, [ValidateNotNullOrEmpty()] [string]$Street = '*', [ValidateNotNullOrEmpty()] [string]$City = '*', [ValidateNotNullOrEmpty()] [string]$ZipCode = '*', [ValidateSet('AH', 'DNTG', 'XL')] [string[]]$Format = ('AH', 'DNTG', 'XL'), [switch]$Force ) Get-CachedStore -Force:$Force | Where-Object { (-not $ID) -or ($ID -contains $_.StoreNumber) } | Where-Object { $_.Address.Street -like $Street } | Where-Object { $_.Address.City -like $City } | Where-Object { $_.Address.Zip -like $ZipCode } | Where-Object { $Format -contains $_.Format } | ForEach-Object { [PSCustomObject]@{ ID = $_.StoreNumber Street = "$($_.Address.Street) $($_.Address.HouseNr)" ZipCode = $_.Address.Zip City = $_.Address.City Format = $_.Format Latitude = $_.Coordinates.Latitude Longitude = $_.Coordinates.Longitude Services = $_.Services OpeningHours = $_._Embedded.OpeningHours | Where-Object { 'CURRENT', 'FUTURE' -contains $_.state } | ForEach-Object { $Current = $_; $Current.Blocks | ForEach-Object { [pscustomobject]@{ Date = $Current.Date; From = $_.From.SubString(0, 5); To = $_.To.SubString(0, 5) } } } PSTypeName = 'UncommonSense.AH.Store' } } } |