Click or drag to resize

Conversation Class

Interface for all conversation related tasks and properties.
Inheritance Hierarchy
SystemObject
  Avaya.ClientServicesConversation
    Avaya.ClientServicesSearchConversation

Namespace:  Avaya.ClientServices
Assembly:  AvayaClientServices (in AvayaClientServices.dll) Version: 550.0.60.0
Syntax
C#
public class Conversation

The Conversation type exposes the following members.

Properties
  NameDescription
Public propertyActiveParticipants
Gets a list of active participants contained in this conversation.
Public propertyAddParticipantsCapability
Returns a Capability object that indicates if new participants can be added to the conversation.
Public propertyComposingParticipants
Gets a list of composing participants contained in this conversation.
Public propertyCreateMessageCapability
Returns a Capability object that indicates if a new message can be created in the conversation.
Public propertyHasAttachments
Returns true if the conversation has any attachments on any of its messages.
Public propertyHasUnreadAttachments
Returns true if the conversation has any unread attachments.
Public propertyHasUnreadMessages
Returns true if the conversation has any unread messages.
Public propertyHasUnreadMessagesSinceLastAccess
Returns whether the conversation has unread messages since the time the conversation was last accessed.
Public propertyId
Returns the unique conversation identifier.
Public propertyIsActive
Returns true if the conversation is active.
Public propertyIsClosed
Returns true if the conversation is closed.
Public propertyIsMultiParty
Returns the multi-party status of the conversation. A conversation is considered to be a multi-party conversation if there are more than two active participants in the conversation.
Public propertyIsPrivate
Returns true if the conversation is private (i.e. the Sensitivity of the conversation is set to Private.
Public propertyIsTypingCapability
Returns a Capability object that indicates if typing status reporting is available.
Public propertyLastAccessedTime
Returns the time the conversation was last accessed.
Public propertyLastEntryTime
Returns the last entry timestamp of the conversation. This is the timestamp of the most recent message in the conversation.
Public propertyLastUpdatedByParticipant
Returns the last participant that updated this conversation.
Public propertyLastUpdatedTime
Returns the time the conversation was last updated.
Public propertyLeaveCapability
Returns a Capability object that indicates if the conversation can be left.
Public propertyMarkAllContentAsReadCapability
Returns a Capability object that indicates if all messages in the conversation can be marked as read.
Public propertyMessageDeliveryStateCapability
Returns a Capability indicating whether this conversation is capable of reporting delivery state updates for sent messages.
Public propertyMessageReadStateCapability
Returns a Capability indicating whether this conversation is capable of reporting read state updates for sent messages.
Public propertyOlderContentCapability
Returns a Capability object that indicates whether the user can "scroll to get more messages", i.e. there are additional messages not yet downloaded from the server.
Public propertyParticipants
Gets a list of participants contained in this conversation.
Public propertyPreviewText
Returns the preview text of the conversation.
Public propertyProviderConversationId
Returns the conversation ID from the underlying provider (e.g., the AMM server) as-is. It will be consistent across clients and application launches, but is only guaranteed to be unique for conversations of that provider type. It will be empty for draft conversation.
Public propertyProviderType
Gets a provider type for the conversation.
Public propertyRemoveCapability
Returns a Capability object that indicates if the conversation can be removed.
Public propertyRemoveParticipantCapability
Returns a Capability object that indicates if a participant can be removed from the conversation.
Public propertyRemoveParticipantsCapability
Returns a Capability object that indicates if participants can be removed from the conversation.
Public propertySensitivity
Returns the sensitivity of the conversation.
Public propertyStartCapability
Returns a Capability object that indicates if the conversation can be started.
Public propertyStatus
Returns the server reconciled status of the conversation.
Public propertySubject
Returns the subject of the conversation if one is provided by the server.
Public propertyTotalAttachmentCount
Returns the total number of attachments in all messages of the conversation.
Public propertyTotalMessageCount
Returns the total number of messages in the conversation.
Public propertyType
Returns the conversation type.
Public propertyUnreadAttachmentCount
Returns the total number of unread attachments in all messages of the conversation.
Public propertyUnreadMessageCount
Returns the number of unread messages in the conversation.
Public propertyUpdateLastAccessTimeCapability
Returns a Capability object that indicates if the last accessed time of the conversation can be updated.
Public propertyUpdateSensitivityCapability
Returns a Capability object that indicates if the sensitivity of the conversation can be updated.
Public propertyUpdateSubjectCapability
Returns a Capability object that indicates if the subject property of the conversation can be updated.
Public propertyUpdateTypeCapability
Returns a Capability object that indicates if the type of the conversation can be updated.
Top
Methods
  NameDescription
Public methodAddParticipant
Invokes an add participant request for this conversation for contact object.
Public methodAddParticipantAddresses
Invokes an add participant request for this conversation for given contact.
Public methodClearLocalAttachmentData
Clear conversation local attachment data.
Public methodCreateMessage
Creates a new Message in this conversation.
Public methodIsParticipantActive
Returns true if a specified participant is active in this conversation.
Public methodLeave
Invokes a leave request for this conversation.
Public methodMarkAllContentAsRead
Marks all content in this conversation as read.
Public methodRemoveMessage
Removes a Message (only draft messages can be removed).
Public methodRemoveParticipant
Invokes a remove participant request for this conversation.
Public methodRemoveParticipantAddresses
Invokes a remove participant request for this conversation for each of the provided addresses.
Public methodRetrieveMessages
Starts the retrieval of messages associated with this conversation. This initial retrieval represents the most recent messages in the conversation and is limited to a maximum number that is specified by the messaging server. This is not necessarily the entire historical message content of the conversation.
Public methodRetrieveMessagesAfter
Retrieves a list of the conversation messages after the specified message. This list represents a list of contiguous messages which have been, or are being, downloaded.
Public methodRetrieveMessagesBefore
Retrieves a list of the conversation messages before the specified message. This list represents a list of contiguous messages which have been, or are being, downloaded.
Public methodSetLastAccessTime
Invokes a set last access time request for this conversation.
Public methodSetSensitivity
Sets the conversation sensitivity.
Public methodSetSubject
Sets the subject for this conversation.
Public methodSetType
Sets the conversation type.
Public methodStart
Invokes a start request for this conversation.
Top
Events
  NameDescription
Public eventActiveStatusChanged
Notifies the application that the conversation's active status has changed in response to a local or remote operation.
Public eventClosedStatusChanged
Notifies the application that the conversation's closed status has changed in response to a local or remote operation.
Public eventComposingParticipantsChanged
Occurs when the list of remote participants that are currently composing a message is changed.
Public eventConversationCapabilitiesChanged
Notifies the application that one or more of the capabilities of the conversation has changed. The application should query each of the capabilities and enable/disable elements of the user interface based on the new capability settings. Capabilities can change as a result of local or remote actions.
Public eventLastAccessTimeChanged
Notifies the application that the last accessed time of the conversation has changed in response to messages in the conversation being marked as read, or by an explicit invocation of the SetLastAccessTime(ConversationCompletionHandler) method.
Public eventLastEntryTimeChanged
Notifies the application that the last entry time of the conversation has changed in response to new messages being added to the conversation.
Public eventLastUpdateTimeChanged
Notifies the application that the last updated time of the conversation has changed.
Public eventMessagesAdded
Notifies the application that one or more messages have been added to the conversation.
Public eventMessagesDeleted
Notifies the application that one or more messages have been removed from the conversation.
Public eventMultiPartyStatusChanged
Notifies the application that the conversation's multi-party status has changed in response to new participants being added or existing participants being removed.
Public eventParticipantsAdded
Notifies the application that one or more participants have been added to the conversation.
Public eventParticipantsRemoved
Notifies the application that one or more participants have been removed from the conversation.
Public eventPreviewTextChanged
Notifies the application that the preview text for the conversation has changed.
Public eventSensitivityChanged
Notifies the application that the sensitivity of the conversation has changed via either a local or remote operation.
Public eventStatusChanged
Notifies the application that the status of the conversation has changed.
Public eventSubjectChanged
Notifies the application that the subject of the conversation has changed via either a local or remote operation.
Public eventTotalAttachmentCountChanged
Notifies the application that the total number of attachments in the conversation has changed.
Public eventTotalMessageCountChanged
Notifies the application that the total number of messages in the conversation has changed.
Public eventTotalUnreadAttachmentCountChanged
Notifies the application that the total number of unread attachments in the conversation has changed.
Public eventTotalUnreadMessageCountChanged
Notifies the application that the number of unread messages in the conversation has changed.
Top
Remarks

A conversation is managing a list of messages which are sent between its participants.

Beside messages, a conversation also contains a lot of its own parameters. Almost all of them can be set only before it is published. After that, one can only send a message, add a new participant, change subject, etc.

It is important to understand that all conversation participants have the same privileges. Once the first user starts a conversation it cannot be closed by that user; every user can leave only by themselves, and add new participants as desired.

After creating new conversation object call AddParticipantAddresses() method for adding new participants. Before sending first message set all other required parameters, like Subject and call Start() method.

After sending the first message, the conversation becomes visible to other users.

See Also