The ININ.IceLib.Tracker namespace contains classes for manipulating and managing Interaction Tracker data. The Interaction Tracker system consists of many entities such as Interactions, Organizations, Individuals, AddressTypes, and InteractionAddressTypes. Together, these entities provide Interaction Center users with a robust means of managing contact information, tracking interactions, and retrieving information pertaining to these different entities from the Tracker database. A valid Tracker Access license is required for any user running an application that makes use of the Tracker classes.

The three main classes in the ININ.IceLib.Tracker namespace are:

  • - Contains methods that perform administrative tasks.
  • Contains methods that perform typical user tasks.
  • Contains methods that perform search operations.

Each of the above classes takes a Session type as an input paramater to its constructor. Thus, a session must already be established before instantiating any of the above types. Each of the above classes contains a TransactionClient type. This is accesable via the public getter, and can be used to modify settings used during the communication with the underlying TransactionBuilder system. (In most cases you will not need to modify any of these settings.) For more information, please see the documentation for TransactionClient and ININ.IceLib.Data.TransactionBuilder.

If a user is not licensed for Tracker, eny attempt to call any methods in these classes will result in an IceLibLicenseException being thrown.

There are also a number of classes within the ININ.IceLib.Tracker namespace that provide support to the classes mentioned in the preceding summary. Examples of the supporting classes are enumerations, event argument classes, and delegates used by events within classes.

TrackerAdmin

The TrackerAdmin class consists of a set of methods that allow you to add, delete, update and retrieve Tracker types. The Tracker types are:

  • - Used to classify addresses within Tracker.
  • Used to classify interaction addresses within Tracker.
  • Used to further classify interaction addresses within Tracker.
  • Used to classify Individuals within Tracker.
  • Used to classify Organizations within Tracker.
  • Used to classify Attributes within Tracker.
  • Represent titles that can be assigned to individuals (Mr., Miss, Dr., etc.)
You will be familiar with these types if you have ever performed a Tracker administrative task in Interaction Administrator. The Tracker node in Interaction Administrator allows admins to add, delete, and update AddressTypes, IndividualTypes, OrganizationTypes, etc. If you want to create a .Net application that provides administrative capabilites for Tracker, you would use the TrackerAdmin class.

Examples

The following example retrieves the list of AddressTypes from Tracker. The returned Collection of AddressTypes is iterated over while each AddressType is added to a ListView.
CopyC#
...
if (_TrackerAdmin != null)
{
   // Get the address types from Tracker.
   Collection<AddressType> addressTypes = _TrackerAdmin.GetAddressTypes();
   foreach (AddressType addressType in addressTypes)
    {
        ListViewItem item = new ListViewItem(addressType.Name);
        item.ImageIndex = GetSelectedTreeNodeImageUnselected();
        item.Tag = addressType;
        _MainListView.Items.Add(item);
    }
}
TrackerUser

The TrackerUser class consists of a set of methods that allow you to add, delete, update and retrieve Tracker data that relates to Individuals, Organizations, and Locations. The main classes used here are:

You will be familiar with these Tracker entities if you have ever used the Win32 TrackerClient application. The TrackerClient allows you to manage Tracker Contacts. You can add an address for an Individual. You can associate an Individual with a particular Organization. You can add a new Organization or Location. If you want to create a .Net application that provides these user level capabilites for Tracker, you would use the TrackerUser class.

Examples

The following example creates a new Organization.
CopyC#
...
if (_TrackerUser != null)
{
   // Instantiate the Organization.
   Organization organization = new Organization();
   annotation.Name = "My Company";
   string newID = _TrackerUser.AddOrganization(organization);
}
TrackerSearch

The TrackerSearch class consists of a set of methods that allow you to search the Tracker database for Individuals, Organizations, Locations, and Interactions. The main classes used here are:

  • Contains information about an Individual within Tracker.
  • Contains information about an Organization within Tracker.
  • Contains information about a Location within Tracker.
  • Contains information about an Interaction within Tracker.
The above classes are designed to contain a subset of information that lies within their associated non-view classes (e.g. Individual vs. IndividualView). Note: There is no Interaction class. Interactions are stored as InteractionSegments in Tracker. The above "View" classes are used to hold the search results when searching for about Tracker entities. If you want to create a .Net application that provides search capabilities, you would use the TrackerSearch class.

Examples

The following example searches for Individuals with a last name of "Smith." The results are then displayed in a ListView.
CopyC#
...
if (_TrackerSearch != null)
{
   // Create the input filter..

   SearchIndividualsFilter filter = new SearchIndividualsFilter();
   filter.FirstName = "Joe";
   filter.LastName = "Smith";
   // Create an IndividualView to hold the result..
   Collection<IndividualView> individualViewResults;
   // Perform the search..
   individualViewResults = _TrackerSearch.SearchIndividuals(filter);
   // Display the results of the search in a ListView..
   foreach (IndividualView individualView in individualViewResults)
    {
        ListViewItem item = new ListViewItem(individualView.FirstName + individualView.LastName);
        item.Tag = individualView;
        _MainListView.Items.Add(item);
    }
}

Classes

  ClassDescription
Public classAddressType
Represents an address type within Tracker.
Public classAddUpdateCompletedEventArgs
Provides data for asynchronously completed events of a TrackerUser.
Public classAnnotation
Represents an annotation within Tracker.
Public classAnnotationView
Represents an annotation view within Tracker.
Public classCanViewInteractionCompletedEventArgs
Provides data for the CanViewInteractionCompleted event of a TrackerUser.
Public classGetCurrentSegmentOrganizationIndividualCompletedEventArgs
Provides data for the GetCurrentSegmentOrganizationIndividualCompleted event of a TrackerUser.
Public classGetICUserIndividualInformationCompletedEventArgs
Provides data for the GetICUserIndividualInformation event of a TrackerUser.
Public classGetIndividualDetailsCompletedEventArgs
Provides data for the GetIndividualDetailsCompleted event of a TrackerUser.
Public classGetInteractionDetailsCompletedEventArgs
Provides data for the GetInteractionDetailsCompleted event of a TrackerUser.
Public classGetLocationDetailsCompletedEventArgs
Provides data for the GetLocationDetailsCompleted event of a TrackerUser.
Public classGetOrganizationDetailsCompletedEventArgs
Provides data for the GetOrganizationDetailsCompleted event of a TrackerUser.
Public classGetPossibleDuplicateIndividualCompletedEventArgs
Provides data for the GetPossibleDuplicateIndividualCompleted event of a TrackerUser.
Public classICUserId
Represents an IC user ID within Tracker.
Public classICUserIndividualInformation
Helper class to contain the results of the GetICUserIndividualInformation(String) methods.
Public classIndividual
Represents an individual within Tracker.
Public classIndividualAddress
Represents an individual address within Tracker.
Public classIndividualDetails
Helper class to contain the results of the GetIndividualDetails(String) methods.
Public classIndividualInteractionAddress
Represents an individual interaction address within Tracker.
Public classIndividualType
Represents an individual type within Tracker.
Public classIndividualView
Represents an individual view within Tracker.
Public classInteractionAddressSubtype
Represents an interaction address subtype within Tracker.
Public classInteractionAddressType
Represents an interaction address type within Tracker.
Public classInteractionDetails
Helper class to contain the results from the GetInteractionDetails(String, String) methods.
Public classInteractionParticipantView
Represents an interaction participant view within Tracker.
Public classInteractionSegment
Represents an interaction segment within Tracker.
Public classInteractionView
Represents an interaction view within Tracker.
Public classIsUnknownOrSystemIndividualCompletedEventArgs
Provides data for the IsUnknownOrSystemIndividualCompleted event of a TrackerUser.
Public classLocation
Represents a location within Tracker.
Public classLocationAddress
Represents a location address within Tracker.
Public classLocationDetails
Helper class to contain the return parameters for the GetLocationDetails(String) methods.
Public classLocationInteractionAddress
Represents a location InteractionAddress within Tracker.
Public classLocationName
Represents a location name within Tracker.
Public classLocationView
Represents a location view within Tracker.
Public classMultipartAccountCode
Represents a multipart account code within Tracker.
Public classMultipartAccountCodeExtended
Represents an extended multipart account code within Tracker.
Public classNewIdCompletedEventArgs<(Of <(<'TId>)>)>
Provides data for asynchronous completed events of a TrackerUser.
Public classOrganization
Represents an organization within Tracker.
Public classOrganizationAddress
Represents an organization address within Tracker.
Public classOrganizationDetails
Helper class to contain the return parameters for the GetOrganizationDetails(String) methods.
Public classOrganizationInteractionAddress
Represents an organization InteractionAddress within Tracker.
Public classOrganizationName
Represents an organization name within Tracker.
Public classOrganizationType
Represents an organization type within Tracker.
Public classOrganizationView
Represents an organization view within Tracker.
Public classQueryCollectionResultCompletedEventArgs<(Of <(<'TResult>)>)>
Provides a collection of data for asynchronously completed events of a TrackerAdmin.
Public classQueryResultCompletedEventArgs<(Of <(<'TResult>)>)>
Provides data for asynchronously completed events of a TrackerAdmin.
Public classReverseInteractionAddressLookupInformation
Represents reverse InteractionAddress lookup information within Tracker.
Public classReverseWhitepagesCommonInfo
Holds common information used during reverse whitepage operations.
Public classReverseWhitepagesGeneralInfo
Holds general information used during reverse whitepage operations.
Public classReverseWhitepagesIndividualInfo
Holds information about an individual that is used during reverse whitepage operations.
Public classReverseWhitepagesInfo
Holds reverse whitepages lookup information that Tracker Server sends or receives.
Public classReverseWhitepagesLocationInfo
Holds information about a location that is used during reverse whitepage operations.
Public classReverseWhitepagesOrganizationInfo
Holds information about an organization that is used during reverse whitepage operations.
Public classSearchForResolutionCandidatesCompletedEventArgs
Provides data for the SearchForResolutionCandidatesCompleted event of a TrackerSearch.
Public classSearchIndividualsFilter
This class represents a filter that is used to search Individuals.
Public classSearchInteractionsFilter
This class represents a filter that is used to search Interactions.
Public classSearchLocationsFilter
This class represents a filter that is used to search Locations.
Public classSearchOrganizationsFilter
This class represents a filter that is used to search Organizations.
Public classSegmentOrganizationIndividualDetails
Helper class to contain the return values for the GetCurrentSegmentOrganizationIndividual(String, String) methods.
Public classTitle
Represents a title within Tracker.
Public classTrackerAdmin
Contains methods necessary to perform typical Tracker admin related operations.
Public classTrackerAttribute
Represents an attribute within Tracker.
Public classTrackerAttributeType
Represents a Tracker attribute type within Tracker.
Public classTrackerAttributeView
Represents an attribute view within Tracker.
Public classTrackerContactEntry
Provides extended Tracker information for a ContactEntry in a Tracker Directory.
Public classTrackerInteraction
Provides access to Tracker information for an interaction within the Interaction Center system.
Public classTrackerInteractionAttributeName
Specifies attribute names that can be used with TrackerInteractions.
Public classTrackerSearch
Contains methods necessary to perform typical Tracker search-related operations.
Public classTrackerUser
Contains methods necessary to perform typical Tracker user related operations.
Public classUserTrackerRightsAttributes
Attribute strings for the UserTrackerRightsSettings watched class.
Public classUserTrackerRightsSettings
Represents the basic user rights settings for an IC user. User rights are set in Interaction Administrator at the Default User, User or Workgroup level.

Enumerations

  EnumerationDescription
Public enumerationActiveType
This enum is used to distinguish between active entities and inactive entities.
Public enumerationAdminType
This enumeration is used to distinguish between tracker admin users and non tracker admin users.
Public enumerationAppliesToTypes
This enum consists of a set of Tracker types that certain methods use to limit their result set. For instance, the method GetTrackerAttributeTypes(AppliesToTypes) uses this enum to determine which TrackerAttributeTypes to fetch. An input value of AppliesToTypes.Individuals would cause the Tracker subsystem to return only TrackerAttributeTypes that are used for Individuals.
Public enumerationDirectionType
The direction types that an interaction can have.
Public enumerationHowEnded
This enum consists of a set of Tracker types that describe a given Segment.
Public enumerationInteractionType
Represents the various interaction types within Interaction Center.
Public enumerationPrivateType
This enum is used to distinguish between public interactions and private interactions.
Public enumerationRoleType
This enum consists of a set of Tracker types that describe the various roles that an Individual can play in an interaction.
Public enumerationSegmentTypes
This enum consists of a set of Tracker types that describe a given Segment.

Version Information

Supported for IC Server version 2015 R1 and beyond.
For 4.0, supported for IC Server version 4.0 GA and beyond.
For 3.0, supported for IC Server version 3.0 GA and beyond.