CreateItemType Classe

Definição

O CreateItemType classe representa uma solicitação para criar um objeto de item ou de resposta.

public ref class CreateItemType : ExchangeWebServices::BaseRequestType
public class CreateItemType : ExchangeWebServices.BaseRequestType
Public Class CreateItemType
Inherits BaseRequestType
Herança
CreateItemType

Exemplos

O exemplo de código a seguir mostra uma solicitação de CreateItem que cria um único e-mail, enviá-la para vários destinatários e salva uma cópia na pasta Itens enviados padrão.

static void CreateEmail()
{
    // Create the CreateItem request.
    CreateItemType createEmailRequest = new CreateItemType();

    // Specifiy how the e-mail will be handled.
    createEmailRequest.MessageDisposition = MessageDispositionType.SendAndSaveCopy;
    createEmailRequest.MessageDispositionSpecified = true;

    // Specify the location of sent items.
    createEmailRequest.SavedItemFolderId = new TargetFolderIdType();
    DistinguishedFolderIdType sentitems = new DistinguishedFolderIdType();
    sentitems.Id = DistinguishedFolderIdNameType.sentitems;
    createEmailRequest.SavedItemFolderId.Item = sentitems;

    // Create the array of items.
    createEmailRequest.Items = new NonEmptyArrayOfAllItemsType();

    // Create a single e-mail message.
    MessageType message = new MessageType();
    message.Subject = "Daily Report";
    message.Body = new BodyType();
    message.Body.BodyType1 = BodyTypeType.Text;
    message.Body.Value = "(1) Handled customer issues, (2) Saved the world.";
    message.ItemClass = "IPM.Note";
    message.Sender = new SingleRecipientType();
    message.Sender.Item = new EmailAddressType();
    message.Sender.Item.EmailAddress = "user1@example.com";
    message.ToRecipients = new EmailAddressType[1];
    message.ToRecipients[0] = new EmailAddressType();
    message.ToRecipients[0].EmailAddress = "user2@example.com";
    message.Sensitivity = SensitivityChoicesType.Normal;
    message.SensitivitySpecified = true;
    message.Importance = ImportanceChoicesType.High;
    message.ImportanceSpecified = true;

    // Add the message to the array of items to be created.
    createEmailRequest.Items.Items = new ItemType[1];
    createEmailRequest.Items.Items[0] = message;

    try
    {
        // Create the service binding.
        // Identify the service and the user.
        ExchangeServiceBinding esb = new ExchangeServiceBinding();
        esb.Credentials = new NetworkCredential("username", "password", "domain");
        esb.Url = @"https://ExchangeServer.com/EWS/Exchange.asmx";

        // Send a CreateItem request and get the CreateItem response.
        CreateItemResponseType createItemResponse = esb.CreateItem(createEmailRequest);
        ArrayOfResponseMessagesType responseMessages = createItemResponse.ResponseMessages;

        // Access the response message.
        ResponseMessageType responseMessage = responseMessages.Items[0];
        // Determine whether the request was a success.
        if (responseMessages.Items[0].ResponseClass == ResponseClassType.Error)
        {
            throw new Exception(responseMessages.Items[0].MessageText);
        }
        if (responseMessage is ItemInfoResponseMessageType)
        {
            ItemInfoResponseMessageType createItemResp = (responseMessage as ItemInfoResponseMessageType);
            ArrayOfRealItemsType aorit = createItemResp.Items;

            // Determine whether there are items in response.
            if (aorit.Items != null)
            {
                foreach (ItemType item in aorit.Items)
                {
                    if (item is ItemType)
                    {
                        ItemType myItem = (item as ItemType);
                    }
                    if (item is MessageType)
                    {
                        MessageType myMessage = (item as MessageType);
                    }
                    // TODO: Add logic to check and cast for all other types.
                }
            }
        }
        else
        {
            Console.WriteLine("Item(s) created");
        }
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

Comentários

O CreateItemType é usado para criar objetos de resposta e itens do banco de dados do Exchange. A tabela a seguir descreve os itens e objetos de resposta que podem ser criados usando CreateItemType.

ItemType
MessageType
TaskType
ContactItemType
CalendarItemType
AcceptItemType
CancelCalendarItemType
DeclineItemType
ForwardItemType
RemoveItemType
ReplyAllToItemType
ReplyToItemType
TentativelyAcceptItemType
SuppressReadReceiptType

Observação: CreateItemType não pode ser usado para criar listas de distribuição, mensagens de reunião, mensagens de solicitação de reunião, mensagens de resposta de reunião e mensagens de cancelamento de reunião.

Construtores

CreateItemType()

O CreateItemType construtor inicializa uma nova instância do CreateItemType classe.

Propriedades

Items

O Items propriedade obtém ou define o conjunto de itens para criar.

MessageDisposition

O MessageDisposition propriedade obtém ou define uma enumeração que descreve como um item é tratado após sua criação. Essa propriedade é obrigatória para mensagens de email.

MessageDispositionSpecified

O MessageDispositionSpecified propriedade obtém ou define um valor Boolean que especifica se o MessageDisposition propriedade é serializada na solicitação simples (SOAP Object Access Protocol).

SavedItemFolderId

O SavedItemFolderId propriedade obtém ou define a pasta na qual os novos itens forem salvos.

SendMeetingInvitations

O SendMeetingInvitations propriedade obtém ou define uma enumeração que descreve como as solicitações de reunião são manipuladas depois que eles são criados. Essa propriedade é obrigatória para itens de calendário.

SendMeetingInvitationsSpecified

O SendMeetingInvitationsSpecified propriedade obtém ou define um valor Boolean que especifica se o SendMeetingInvitations é serializados na solicitação simples (SOAP Object Access Protocol).

Aplica-se a