functions/setup/Get-BcDvd.ps1

function Get-BcDvd {
    [CmdletBinding()]
    param (
        [Parameter(Mandatory=$true)]
        [int]$MajorVersion,
        [Parameter(Mandatory=$true)]
        [int]$MinorVersion,
        [Parameter(Mandatory=$true)]
        [string]$CountryCode,
        [Parameter(Mandatory=$true)]
        [string]$DvdRepositoryPath
    )
    
    $BcDvdUrl = Get-BcDvdUrl -MajorVersion $MajorVersion -MinorVersion $MinorVersion -CountryCode $CountryCode
    if ($BcDvdUrl -like 'http*')
    {
        $BcDvdFileName = Split-Path $BcDvdUrl -Leaf
        $BcDvdDirectory = "$($DvdRepositoryPath)\$($MajorVersion)\$($MinorVersion)\$($CountryCode)"
        $BcDvdPath = "$($BcDvdDirectory)\$($BcDvdFileName)"

        if (-not (Test-Path $BcDvdPath))
        {
            if (-not (Test-Path $BcDvdDirectory))
            {
                New-Item -Path $BcDvdDirectory -ItemType Directory -Force | Out-Null
            }
            # Invoke-WebRequest -Uri $BcDvdUrl -OutFile $BcDvdPath
            $WebClient = New-Object Net.WebClient
            $WebClient.Downloadfile($BcDvdUrl, $BcDvdPath)
        }

        Write-Output $BcDvdPath
    } else {
        Write-Warning "Unable to download BC $($MajorVersion).$($MinorVersion)"
    }
}