Asynchoronously looks up simple contact entries.

Namespace: ININ.IceLib.People
Assembly: ININ.IceLib.People (in ININ.IceLib.People.dll) Version: 0.0.0.0 (22.3.0.218)

Syntax

C#
public void GetLookupEntriesAsync(
	LookupParameters queryParameters,
	EventHandler<GetLookupEntriesCompletedEventArgs> completedCallback,
	Object userState
)
Visual Basic
Public Sub GetLookupEntriesAsync ( _
	queryParameters As LookupParameters, _
	completedCallback As EventHandler(Of GetLookupEntriesCompletedEventArgs), _
	userState As Object _
)

Parameters

queryParameters
Type: ININ.IceLib.People..::..LookupParameters
The search criteria.
completedCallback
Type: System..::..EventHandler<(Of <(<'GetLookupEntriesCompletedEventArgs>)>)>
The callback to invoke when the asynchronous operation completes.
userState
Type: System..::..Object
An optional object that contains state information for this request. This object is a way for the caller to store context information which will be provided to the AsyncCompleted event. If no context information is desired then nullNothingnullptra null reference (Nothing in Visual Basic) may be supplied.

Remarks

When completed, the completedCallback delegate is invoked on a thread appropriate to the application-model, such as the GUI thread in a UI application. The Error property of the AsyncCompletedEventArgs-derived object passed to the delegate will contain any exceptions thrown while executing the asynchronous task. See the synchronous version of this method for more detailed error information. For more information on async method calls, see How Async Calls Work.

This can be used to search for contacts for operations such as transfering an Interaction.

Examples

The logged in user must have the appropriate search rights configured in Interaction Administrator for results to be included. These search rights can be found in the Access Control container under the Search column.

When specifying AttendantProfile, attendant profiles can only be included in the lookup results if the logged in user has the sufficient search rights assigned. From within Interaction Administrator, the logged in user must have the search rights for the appropriate Email/Inbound/Operator/Outbound profiles set in the Access Control container. Additionally, the attendant profile must also be setup to be a transfer target from within Interaction Attendant.

CopyC#
using ININ.IceLib.People;
PeopleManager peopleManager = PeopleManager.GetInstance(session);

LookupParameters queryParameters = new LookupParameters();
queryParameters.DirectoriesToSearch = new List<LookupEntryType> {LookupEntryType.User};
queryParameters.ColumnsToMatch = new List<LookupEntryProperty> {LookupEntryProperty.DisplayName, LookupEntryProperty.EntryId};
queryParameters.LookupString = "John";
queryParameters.ComparisonType = LookupComparisonType.StartsWith;
queryParameters.MaxEntries = 50;
queryParameters.IncludeUsersExcludedFromCompanyDirectory = true;

peopleManager.GetLookupEntriesAsync(queryParameters, LookupCompletedCallback, GetNextSequenceNumber());

private void LookupCompletedCallback(object sender, GetLookupEntriesCompletedEventArgs eventArgs)
{
    if (eventArgs.Error != null )// failed. handle the failure.
    {
    }
    else
    {
        int sequenceNumber = eventArgs.UserState as int;
        if ( sequenceNumber != GetCurrentSequenceNumber() ) // another call to GetLookupEntriesAsync happened by the time our function completed. Maybe we could ignore this old result.
        {
            return;
        }

        LookupEntriesDetails result = eventArgs.LookupEntriesDetails;
        // handle the result
    }
}

Exceptions

ExceptionCondition
System..::..ArgumentNullExceptionA parameter is nullNothingnullptra null reference (Nothing in Visual Basic).
System..::..ArgumentExceptionA parameter is empty.

Version Information

Supported for IC Server version 2015 R1 and beyond.
For 4.0, supported for IC Server version 4.0 SU 3 and beyond.

See Also