Public/Get-ADPObjectFromAPIObject.ps1

function Get-ADPObjectFromAPIObject {
    <#
    .SYNOPSIS
        Get a user's ADP Object from ADP API Object

    .DESCRIPTION
        Get a user's ADP Object from ADP API Object

    .PARAMETER ADPObject
        Object which holds the ADP Object

    .PARAMETER UserList
        List of all the users

    .EXAMPLE
        Input Object: ADP API Object
        Input Object: List of users
        Return Object: <ADP Object>

    .NOTES
        This is used when passing the full adp worker object from ADP's API

    .FUNCTIONALITY
        Powershell Language
    #>

    [CmdletBinding()]
    param (
        [Parameter( Mandatory = $true,
            Position = 0
        )]
        $APIObject,
        [Parameter( Mandatory = $true,
            Position = 1
        )]
        $UserList
    )

    return [PSCustomObject]@{
        associateOID      = ( $APIObject | Get-ADPAssociateAOID );
        firstName         = ( $APIObject | Get-ADPFirstName );
        lastName          = ( $APIObject | Get-ADPLastName );
        login             = ( $APIObject | Get-ADPLogin );
        email             = ( $APIObject | Get-ADPEmail );
        title             = ( $APIObject | Get-ADPTitle );
        displayName       = ( $APIObject | Get-ADPDisplayName );
        secondEmail       = ( $APIObject | Get-ADPSecondEmail );
        mobilePhone       = ( $APIObject | Get-ADPMobilePhone );
        streetAddress     = ( $APIObject | Get-ADPLocation).street;
        city              = ( $APIObject | Get-ADPLocation).city;
        state             = ( $APIObject | Get-ADPLocation).state;
        zipCode           = ( $APIObject | Get-ADPLocation).zipCode;
        countryCode       = ( $APIObject | Get-ADPLocation).country;
        preferredLanguage = ( $APIObject | Get-ADPRegion).preferredLanguage;
        locale            = ( $APIObject | Get-ADPRegion).locale;
        userType          = ( $APIObject | Get-ADPUserType );
        employeeNumber    = ( $APIObject | Get-ADPEmployeeNumber );
        organization      = ( $APIObject | Get-ADPOrganization );
        division          = ( $APIObject | Get-ADPOrgStructure ).division;
        department        = ( $APIObject | Get-ADPOrgStructure ).department;
        managerAOID       = ( $APIObject | Get-ManagerAOID )
        managerId         = ( Get-ManagerEmail -UserList $UserList -ManagerAOID ( $APIObject | Get-ManagerAOID ) );
        manager           = ( Get-ManagerName -UserList $UserList -ManagerAOID ( $APIObject | Get-ManagerAOID ) );
        hireDate          = ( $APIObject | Get-ADPHireDate ).mmddyyyySlash;
        pronouns          = ( $APIObject | Get-ADPPronouns );
        simpplrHireDate   = ( $APIObject | Get-ADPHireDate ).yyyymmddHyphen;
        managerEmail      = ( Get-ManagerEmail -UserList $UserList -ManagerAOID ( $APIObject | Get-ManagerAOID ) );
        terminationDate   = ( $APIObject | Get-ADPTerminationDate );
    }
}