public/Update-FootballFixtureTemplate.ps1

function Update-FootballFixtureTemplate {

    [CmdletBinding()]
    param(

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

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

        [Parameter(Mandatory=$true)]
        [ValidateNotNullOrEmpty()]
        [Object]$Header,

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

        [Parameter(Mandatory=$false)]
        [ValidateSet('prediction-preview','prediction-review','outcome')]
        [string]$Template,

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

    )
    process{

        $ErrorActionPreference = 'Stop'

        try {
        
            $ScriptPath = "$Path\git-hub\sportsmonk-api\scripts"
            Set-Location -Path $ScriptPath -ErrorAction Stop
            $Competitions = Get-Competition

            $Competitions.GetEnumerator() | ForEach-Object -Process {

                $CompetitionMatched = $false

                if ($($PSBoundParameters.ContainsKey('Competition'))) {

                    if ($($_.Key) -eq $Competition) {
                    
                        $CompetitionToUse = $($_.Key)
                        $CompetitionMatched = $true
    
                    }
          
                }
                else {
    
                    $CompetitionToUse = $($_.Key)
                    $CompetitionMatched = $true
                    
                } # if

                if ($CompetitionMatched) {

                    switch ($Template) {

                        'prediction-preview' {

                            Get-FootballFixtureMarketTypeProbabilityPercentage -Header $Headers -Token $Token -Competition $CompetitionToUse -Date $Date -Preview -Path $Path
                            .\populate-twitter-summary.ps1 -Header $Headers -Token $Token -Competition $CompetitionToUse -Date $Date -Preview -Force

                        }
                        'prediction-review' {

                            Get-FootballFixtureMarketTypeProbabilityPercentage -Header $Headers -Token $Token -Competition $CompetitionToUse -Date $Date -Path $Path
                            .\populate-twitter-summary.ps1 -Header $Headers -Token $Token -Competition $CompetitionToUse -Date $Date -Force

                        }
                        'outcome' {

                            .\populate-template.ps1 -Competition $CompetitionToUse -Date $Date -Force

                        }
                    
                    } # switch

                }# if

            } # foreach-object

            Set-Location -Path $Path -ErrorAction Stop

        }
        catch {

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

        } # try catch

    } # process

} # function