public/Get-FootballFixtureCorrectScoreProbability.ps1

function Get-FootballFixtureCorrectScoreProbability {
    <#
        .EXAMPLE
            Get-FootballFixtureCorrectScoreProbability -Competition mex-ligamx -Date 2025-04-05 -Path C:\sportsmonk
         
    #>

    [CmdletBinding()]
    param(

        [Parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$Competition,

        [Parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$Date,

        [Parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]
        [string]$Path

    )
    process{

        $ErrorActionPreference = 'Stop'

        try {

            $ResultsPath = "$Path\sportsmonk-results"
            $ResultsFilePath = "$ResultsPath\$Competition\$Date\$Competition-$Date.csv"
            $PredictionReviewPath = "$Path\fixture-artifact\prediction-preview\$Competition\$Date"

            $FixtureResults = Import-Csv -Path $ResultsFilePath
            $CorrectScores =@()
            foreach ($FixtureResult in $FixtureResults) {

                $FixtureFilePath = Get-ChildItem -Path $PredictionReviewPath -Recurse -File `
                    | Where-Object {$_.FullName -like "*$($FixtureResult.fixture_id)*" -and $_.FullName -like "*top-scores-$Date.csv"}

                Write-CustomWarningMessage -ParentPath $Path -FilePath $($FixtureFilePath.FullName)
                Import-Csv -Path $($FixtureFilePath.FullName) | Where-Object {$_.FixtureId -eq $($FixtureResult.fixture_id)} | Format-Table

            } # foreach

            return $CorrectScores
        }
        catch {

            "$($MyInvocation.MyCommand.Name): $_.Exception.Message"
 
         } # trycatch

    } # process

} # function