The ININ.IceLib.People namespace contains classes for accessing Interaction Center workgroups, status messages, users and users' statuses.
Attribute Watches. Some object classes get specific settings for the session user. These objects are watched, meaning that any time an attribute is changed, the internal cache of that object is kept up to date. Whenever that attribute's property is referenced the current value will be returned. An event notification is available when any of the attributes changes in value. Examples of watched attribute classes are:
Examples
public class WorkgroupDetailsWatcher
{
PeopleManager _PeopleManager;
WorkgroupDetails _WorkgroupDetails;
string _WorkgroupName = "Marketing";
//We are interested in watching the Members and Supervisors attributes of the Workgroup Details.
string[] _WatchedAttributes = new string[] { WorkgroupAttributes.Members, WorkgroupAttributes.Supervisors };
public WorkgroupDetailsWatcher(PeopleManager peopleManager)
{
_PeopleManager = peopleManager;
}
private void WorkgroupDetailsChanged(object sender, ININ.IceLib.People.WatchedAttributesEventArgs e)
{
DisplayAttributes();
}
private void DisplayAttributes()
{
ReadOnlyCollection<string> members = _WorkgroupDetails.Members;
StringBuilder sb = new StringBuilder();
sb.Append("The members of ").Append(_WorkgroupName).Append(" are ");
foreach (string member in members)
{
sb.Append(member).Append("\n");
}
MessageBox.Show(sb.ToString());
}
public override void StartWatch()
{
if( _WorkgroupDetails == null )
{
_WorkgroupDetails = new WorkgroupDetails(_PeopleManager, _WorkgroupName);
_WorkgroupDetails.WatchedAttributesChanged += new EventHandler<WatchedAttributesEventArgs>(WorkgroupDetailsChanged);
_WorkgroupDetails.StartWatchingCompleted += new AsyncCompletedEventHandler(_WorkgroupDetails_StartWatchingCompleted);
_WorkgroupDetails.StopWatchingCompleted += new AsyncCompletedEventHandler(_WorkgroupDetails_StopWatchingCompleted);
}
_WorkgroupDetails.StartWatchingAsync(_WatchedAttributes, null);
}
void _WorkgroupDetails_StopWatchingCompleted(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("WorkgroupDetails.StopWatchingAsync succeeded!");
}
void _WorkgroupDetails_StartWatchingCompleted(object sender, AsyncCompletedEventArgs e)
{
DisplayAttributes();
}
public override void StopWatch()
{
if( _WorkgroupDetails == null )
{
MessageBox.Show("A start watch has not been called");
return;
}
_WorkgroupDetails.StopWatchingAsync(null);
}
}
Object Watches. Some of these classes represent object watches. They are used to maintain a list of objects and watch for changes to those objects. The internal cache of these objects is kept up to data so anytime an object's property is referenced the current value will be returned. An event notification is available when a set of watched objects changes. Examples of watched object classes are: StatusMessageList watching StatusMessageDetails objects, UserStatusList watching UserStatus objects, UserWorkgroupActivationList watching UserWorkgroupActivation objects, and CustomButtonList watching CustomButton objects.
Examples
public class CustomButtonListWatcher
{
private CustomButtonList _CustomButtonList;
private PeopleManager _PeopleManager = PeopleManager.GetInstance(_Session);
public void StartWatch()
{
// Create the call back and send the asynchronous query
if( _CustomButtonList == null )
{
_CustomButtonList = new CustomButtonList(_PeopleManager);
_CustomButtonList.WatchedObjectsChanged += new EventHandler<WatchedObjectsEventArgs>(CustomButtonListChanged);
_CustomButtonList.StartWatchingCompleted += new AsyncCompletedEventHandler(_CustomButtonList_StartWatchingCompleted);
_CustomButtonList.StopWatchingCompleted += new AsyncCompletedEventHandler(_CustomButtonList_StopWatchingCompleted);
}
_CustomButtonList.StartWatchingAsync(null);
}
void _CustomButtonList_StartWatchingCompleted(object sender, AsyncCompletedEventArgs e)
{
ReadOnlyCollection<CustomButton> buttonList = _CustomButtonList.GetList();
foreach(CustomButton button in buttonList)
{
//Display the text of the button
MessageBox.Show(button.Text);
}
}
void _CustomButtonList_StopWatchingCompleted(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("No longer watching the Custom Button List");
}
private void CustomButtonListChanged(object sender, WatchedObjectsEventArgs e)
{
//The custom button list has changed, display the list again showing the updates
ReadOnlyCollection<CustomButton> buttonList = _CustomButtonList.GetList();
foreach(CustomButton button in buttonList)
{
MessageBox.Show(button.Text);
}
}
}
Examples
Project | Location |
---|---|
TutorialExample | SystemStatisticsViewModel.cs, line 57, in SystemStatisticsViewModel.SessionConnectionStateChanged |
StatisticCatalogViewModel.cs, line 144, in StatisticCatalogViewModel.SessionConnectionStateChanged |
Classes
Class | Description | |
---|---|---|
AccountCode |
Represents an account code.
| |
ACDRoutingOutboundMailbox |
Represents an ACD Routing mailbox for sending outbound e-mail interactions on behalf of a workgroup.
| |
CustomButton |
Represents a custom button watched object.
Object instances of this class are managed by the CustomButtonList class. | |
CustomButtonList | Represents a watched list of custom buttons (CustomButton). | |
ExternalSystemConfiguration |
Represents external system configuration information for a user.
| |
ExternalSystemConfigurations |
Provides a list of ExternalSystemConfigurations.
| |
FilteredStatusMessageChangedEventArgs |
Provides data for the filtered status message list changed event.
| |
FilteredStatusMessageList | Represents a watched list of (StatusMessageDetails) available for a set of users. | |
GetLookupEntriesCompletedEventArgs |
Provides data for asynchronous completed events of
GetLookupEntriesAsync
or
GetLookupEntriesAsync.
| |
GetPreviousStatusInfoCompletedEventArgs |
Provides data for asynchronous completed events of UserStatusList.
| |
GetUserActivationListCompletedEventArgs |
Provides data for asynchronous completed events of
GetUserActivationList(String).
| |
GetUserStatusCompletedEventArgs |
Provides data for asynchronous completed events of UserStatusList.
| |
LicenseManagement |
This class provides support for performing license operations for the session user.
| |
LicenseNameAttributes |
Static constants for common IC license names used in the LicenseRequest class.
| |
LicenseOperationCompletedEventArgs |
Arguments returned by the asynchronous license operation request.
| |
LicenseRequest |
This class implements a license request operation.
| |
LicensesEventArgs |
Provides data for the LicensesChanged event of a LicenseManagement.
| |
LookupEntriesDetails |
Represents the return value for
GetLookupEntries
and
GetLookupEntries
or the corresponding asynchronous variants
GetLookupEntriesAsync
and
GetLookupEntriesAsync.
| |
LookupEntry |
Represents a lookup entry.
| |
LookupParameters |
Represents the input for
GetLookupEntriesAsync
or
GetLookupEntries.
| |
PeopleManager |
Provides access to all watched attribute and object classes in the People namespace.
| |
PerformLicenseOperationCompletedEventArgs |
Arguments returned by the asynchronous perform license operation request.
| |
PerformLicenseOperationResult |
Contains information regarding a license operation result from a call to PerformLicenseOperation(IList<(Of <<'(LicenseRequest>)>>)) or PerformLicenseOperationAsync(IList<(Of <<'(LicenseRequest>)>>), EventHandler<(Of <<'(PerformLicenseOperationCompletedEventArgs>)>>), Object).
| |
StatusMessageChangedEventArgs |
Provides data for the filtered status message list changed event for status message attributes.
| |
StatusMessageDetails |
Represents the details for a status message watched object. Object instances of this class are managed by
the StatusMessageList class.
| |
StatusMessageList |
Represents a watched list of status messages. Use StatusMessageDetails to
get the details of a status message watched object.
| |
UserAccessListsAttributes |
Attribute strings for the UserAccessListsSettings watched class.
RemarksThe attribute names specified in this class are used in conjunction
with the synchronous and asynchronous StartWatching and ChangeWatchedAttributes
methods in the UserAccessListsSettings class. | |
UserAccessListsSettings |
Represents the access control lists settings for an IC user. These settings are configured in the
Access control section of the Security tab in Interaction Administrator.
| |
UserDataAttributes |
Attribute strings for the UserDataSettings watched class.
| |
UserDataSettings |
Represents miscellaneous data settings for an IC user, such as the user's workgroup membership,
supervisory rights, and greeting preference. These settings are configured in Interaction Administrator.
| |
UserEntry | Represents a user entry watched object. For example, their display name, company, extension, etc.
Object instances of this class are managed by the UserEntryList class.
| |
UserEntryList |
Represents a list of watched user entries (UserEntry).
| |
UserRightsAttributes |
Attribute strings for the UserRightsSettings watched class.
| |
UserRightsSettings |
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.
| |
UserSettings |
Represents the basic settings for an IC user.
| |
UserStatus |
Represents a user's status watched object. For example, Available, Do Not Disturb and so on.
Object instances of this class are managed by the UserStatusList class.
| |
UserStatusList |
Represents a list of watched user statuses (UserStatus).
| |
UserStatusPreviousInfo | Represents a user's previous status settings for a particular status. | |
UserStatusUpdate |
This object is used to change a user's status.
| |
UserWorkgroupActivation | Represents the status of a user's activation in a workgroup. When a user is activated in a workgroup,
then the user is eligible to handle ACD interactions. | |
UserWorkgroupActivationList |
Class to implement a list of UserWorkgroupActivation objects.
| |
UserWorkgroupActivationUpdate |
This object is used to update a user's workgroup activation.
| |
VoicePrompts |
Manages user voice prompts by starting actions for a voice prompt type.
| |
WatchedAttributesEventArgs |
Provides data for the WatchedAttributesChangedEvent event of a
WorkgroupDetails class or
UserSettings derived classes.
| |
WatchedObjectsEventArgs<(Of <(<'TPropertyEnum>)>)> |
Provides data for the watched objects changed event for a watched object.
| |
WorkgroupActivation |
Represents a users workgroup activation as used in batch processing.
| |
WorkgroupActivationChangedEventArgs |
Provides data for the workgroup activation list changed event.
| |
WorkgroupActivationList |
Represents a list of user workgroup activations. This class allows for bulk
access to user workgroup activations.
| |
WorkgroupAttributes |
Attribute strings for the WorkgroupDetails watched class.
| |
WorkgroupDetails |
Represents the common details for an IC workgroup.
| |
WrapUpCode |
Represents a wrap-up code definition. Wrap-up codes are provided for agents to submit the resolution of an
ACD interaction.
|
Enumerations
Enumeration | Description | |
---|---|---|
CustomButtonAction |
Action to perform when button is pressed.
| |
CustomButtonAvailability |
When is the button available to be selected.
| |
CustomButtonLocations |
Specifies locations that custom buttons can occupy.
| |
CustomButtonProperty |
Each value in this enumeration represents a property in CustomButton.
| |
LicenseRequestType |
Enumeration for the type of operation requested for a license.
| |
LicenseStatusType |
Represents the license status.
| |
LookupComparisonType |
Represents the types of comparison for
GetLookupEntries
and
GetLookupEntries
or the corresponding asynchronous variants
GetLookupEntriesAsync
and
GetLookupEntriesAsync.
| |
LookupEntryProperty |
Represents properties contained in a LookupEntry.
| |
LookupEntryType |
Represents different sources in which lookup entries can be searched.
| |
StatusMessageProperty |
Each value in this enumeration represents a property in StatusMessageDetails.
| |
UserEntryProperty |
Each value in this enumeration represents a property in UserEntry.
| |
UserStatusProperty |
Each value in this enumeration represents a property in UserStatus.
| |
UserWorkgroupActivationProperty |
Each value in this enumeration represents a property in UserWorkgroupActivation.
| |
VoicePromptActionTypes |
The set of actions that can be performed on a voice prompt.
Voice prompts are handled via a VoicePrompts object.
| |
VoicePromptType |
Indicates the type of voice prompt.
Voice prompts are handled via a VoicePrompts object.
|
Version Information
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.