Functions/Object/IdentityManager_Add.psm1


Function Add-OIMPersonHasEset{
    [CmdletBinding(SupportsShouldProcess)]
    Param($Person,$Eset)
    if($Person -isnot [array]){
        $listperson = @($person)
    }else{$listperson= $Person}

    if($Eset -isnot [array]){
        $listEset = @($Eset)
    }else{$listEset = $eset}

    ForEach($PersonItem in $listperson){
        ForEach($EsetItem in $listEset){
            if(-not [string]::IsNullOrEmpty($PersonItem.UID_Person) -and  -not [string]::IsNullOrEmpty($EsetItem.UID_ESet)){
                if ($PSCmdlet.ShouldProcess("Person:$($PersonItem.UID_Person) ESet:$($EsetItem.UID_ESet)", 'Add PersonHasEset')) {
                    Write-Verbose "New PersonHasEset Person:$($PersonItem.UID_Person) ESET:$($EsetItem.UID_ESet)"
                    New-OIMObject -ObjectName PersonHasEset -Properties @{UID_Eset=$EsetItem.UID_ESet;UID_Person=$PersonItem.UID_Person} -Confirm:$false
                }
            }else{
                Write-Warning "Invalid UID Person:$($PersonItem.UID_Person) ESET:$($EsetItem.UID_ESet)"
            }
        }

    }

}

Function Remove-OIMPersonHasEset{
    [CmdletBinding(SupportsShouldProcess)]
    Param($Person,$Eset)
    if($Person -isnot [array]){
        $listperson = @($person)
    }else{$listperson= $Person}

    if($Eset -isnot [array]){
        $listEset = @($Eset)
    }else{$listEset = $eset}

    ForEach($PersonItem in $listperson){
        ForEach($EsetItem in $listEset){
            if(-not [string]::IsNullOrEmpty($PersonItem.UID_Person) -and  -not [string]::IsNullOrEmpty($EsetItem.UID_ESet)){
                if ($PSCmdlet.ShouldProcess("Person:$($PersonItem.UID_Person) ESet:$($EsetItem.UID_ESet)", 'Remove PersonHasEset')) {
                    Write-Verbose "Remove PersonHasEset Person:$($PersonItem.UID_Person) ESET:$($EsetItem.UID_ESet)"
                    $safePerson = $PersonItem.UID_Person | ConvertTo-SQLLiteral
                    $safeEset = $EsetItem.UID_ESet | ConvertTo-SQLLiteral
                    Get-OIMObject -ObjectName PersonHasEset -Where "UID_Person = '$safePerson' AND UID_Eset = '$safeEset'" |
                        Remove-OIMObject -Confirm:$false
                }
            }else{
                Write-Warning "Invalid UID Person:$($PersonItem.UID_Person) ESET:$($EsetItem.UID_ESet)"
            }
        }

    }

}