AddToQueueRequest Class

Applies To: Microsoft Dynamics CRM 2013, Microsoft Dynamics CRM Online

Contains the data that is needed to move an entity record from a source queue to a destination queue.

Namespace: Microsoft.Crm.Sdk.Messages
Assembly: Microsoft.Crm.Sdk.Proxy (in Microsoft.Crm.Sdk.Proxy.dll)

Syntax

'Declaration
<DataContractAttribute(Namespace:="http://schemas.microsoft.com/crm/2011/Contracts")> _
Public NotInheritable Class AddToQueueRequest
    Inherits OrganizationRequest
[DataContractAttribute(Namespace="http://schemas.microsoft.com/crm/2011/Contracts")] 
public sealed class AddToQueueRequest : OrganizationRequest

Example

The following example shows how to use this message. For this sample to work correctly, you must be connected to the server to get an IOrganizationService interface. For the complete sample, see the link later in this topic.

// Move a record from a source queue to a destination queue
// by using the AddToQueue request message.
AddToQueueRequest routeRequest = new AddToQueueRequest
{
    SourceQueueId = _sourceQueueId,
    Target = new EntityReference(Letter.EntityLogicalName, _letterId),
    DestinationQueueId = _destinationQueueId
};

// Set the WorkerId of the QueueItemProperties to indicate who is working
// on this particular queue item. If there were any custom attributes
// defined for the QueueItem Entity, it would be possible to set
// those here, as well.
routeRequest.QueueItemProperties = new QueueItem
{
    WorkerId = new EntityReference("systemuser", _userId),
};

// Execute the Request
_serviceProxy.Execute(routeRequest);

Remarks

Message Availability

This message works regardless whether the caller is connected to the server or offline.

Usage

Pass an instance of this class to the Execute method, which returns an instance of the AddToQueueResponse class.

Privileges and Access Rights

To perform this action, the caller must have privileges on the Queue and QueueItem entities and on the entity that is referred to in the Target property. You must also have access rights on the source and destination queue records and on the specified record in the Target property. For a complete list of required privileges, see AddToQueue Privileges.

Notes for Callers

Specifying the SourceQueueId property is optional. If the record that is specified by the Target is not in a queue, it is added to the destination queue. If the record is already in a queue, it is moved from the queue to the destination queue. The records cannot be added to multiple queues, except for email records that have the status “Received.” However, a “Received” email record cannot be added multiple times to the same queue.

Specifying the QueueItemProperties property is optional. The minimally required data for creating a queue item is provided in the DestinationQueueId and Target properties. However, if you want to include additional data, such as who works on the case (QueueItem.WorkerId), or to add custom fields, you have to use the QueueItemProperties property.

Inheritance Hierarchy

System.Object
   Microsoft.Xrm.Sdk.OrganizationRequest
    Microsoft.Crm.Sdk.Messages.AddToQueueRequest

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Platforms

Development Platforms

Windows Server 2008, Windows Server 2012, Windows 7 (All Versions), Windows 8 (All Versions)

Target Platforms

Windows Server 2008, ,Windows Server 2012, ,Windows 7 (All Versions),

Change History

See Also

Reference

AddToQueueRequest Members
Microsoft.Crm.Sdk.Messages Namespace
AddToQueueResponse

Other Resources

Queue Entities
Sample: Add a Record to a Queue (Early Bound)
AddToQueue Privileges
How Role-Based Security Can Be Used to Control Access to Entities In CRM
How Instance-Based Security Can Be Used to Control Access to Entity Instances (Records) In CRM

Send comments about this topic to Microsoft.
© 2013 Microsoft Corporation. All rights reserved.