MoveItemType Class

The MoveItemType class represents an operation to move items in a mailbox.

Inheritance Hierarchy

System.Object
  ExchangeWebServices.BaseRequestType
    ExchangeWebServices.BaseMoveCopyItemType
      ExchangeWebServices.MoveItemType

Namespace:  ExchangeWebServices
Assembly:  EWS (in EWS.dll)

Syntax

'Declaration
<SerializableAttribute> _
Public Class MoveItemType _
    Inherits BaseMoveCopyItemType
'Usage
Dim instance As MoveItemType
[SerializableAttribute]
public class MoveItemType : BaseMoveCopyItemType

Remarks

The item identifier of the new item is returned in the response message (MoveItemResponseType). An item identifier is not returned in a response for a cross-mailbox or mailbox to public folder MoveItem Operation.

Examples

The following example shows how to move two items to the Deleted Items default folder.

static void MoveItem(ExchangeServiceBinding esb)
{ 
    // Identify the items to move.
    ItemIdType item1 = new ItemIdType();
    ItemIdType item2 = new ItemIdType();
    item1.Id = "AAAlAE1";
    item2.Id = "AAAlAE2";
    ItemIdType[] items = new ItemIdType[2] { item1, item2 };

    // Identify the destination folder.
    DistinguishedFolderIdType destFolder = new DistinguishedFolderIdType();
    destFolder.Id = DistinguishedFolderIdNameType.deleteditems;

    // Form the move request.
    MoveItemType request = new MoveItemType();
    request.ItemIds = items;
    request.ToFolderId = new TargetFolderIdType();
    request.ToFolderId.Item = destFolder;

    try
    {
        // Send the request and get the response.
        MoveItemResponseType response = esb.MoveItem(request);
        ArrayOfResponseMessagesType aormt = response.ResponseMessages;
        ResponseMessageType[] rmta = aormt.Items;

        foreach (ResponseMessageType rmt in rmta)
        {
            if (rmt.ResponseClass == ResponseClassType.Error)
            {
                throw new Exception("Item move failed.");
            }
        }
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

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.