Freigeben über


UpdateItemType Klasse

Definition

Die UpdateItemType -Klasse stellt eine Anforderung zum Aktualisieren einer Gruppe von Elementen dar.

public ref class UpdateItemType : ExchangeWebServices::BaseRequestType
public class UpdateItemType : ExchangeWebServices.BaseRequestType
Public Class UpdateItemType
Inherits BaseRequestType
Vererbung
UpdateItemType

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie eine Besprechung aktualisieren. In diesem Beispiel werden folgende Aktionen ausgeführt:

  1. Fügt der Besprechung einen neuen erforderlichen Teilnehmer hinzu.
  2. Aktualisierungen die Startzeit der Besprechung auf die aktuelle Uhrzeit auf dem Client.
  3. Fügt der Besprechung eine benutzerdefinierte MAPI-Eigenschaft hinzu.
  4. Löscht alle optionalen Teilnehmer.
  5. Löst alle Konflikte im Aktualisierungsvorgang automatisch auf.
  6. Sendet das Besprechungsupdate an alle Teilnehmer und speichert eine Kopie der aktualisierten Besprechungsanfrage in dem Ordner, den die SavedItemFolderId Eigenschaft identifiziert.
static void UpdateItem(ExchangeServiceBinding esb)
{
    // Create calendar items to contain each non-deletion update.
    CalendarItemType ciAppendRA = new CalendarItemType();
    CalendarItemType ciSetStart = new CalendarItemType();
    CalendarItemType ciSetEP = new CalendarItemType();

    // Add a new required attendee to the calendar item.
    ciAppendRA.RequiredAttendees = new AttendeeType[1];
    ciAppendRA.RequiredAttendees[0] = new AttendeeType();
    ciAppendRA.RequiredAttendees[0].Mailbox = new EmailAddressType();
    ciAppendRA.RequiredAttendees[0].Mailbox.EmailAddress = "mskinner@example.com";
    // Identify the field to append.
    PathToUnindexedFieldType appReqAttendees = new PathToUnindexedFieldType();
    appReqAttendees.FieldURI = UnindexedFieldURIType.calendarRequiredAttendees;
    // Add the calendar item and the identified appended field to
    // the ItemChangeDescriptionType. This is an AppendToItemFieldType.
    AppendToItemFieldType append = new AppendToItemFieldType();
    append.Item = appReqAttendees;
    append.Item1 = ciAppendRA;

    // Set a new start time on a calendar item.
    ciSetStart.Start = DateTime.Now;
    ciSetStart.StartSpecified = true;
    // Identify the field to set.
    PathToUnindexedFieldType modStartTime = new PathToUnindexedFieldType();
    modStartTime.FieldURI = UnindexedFieldURIType.calendarStart;
    // Add the calendar item and the identified set field to
    // the ItemChangeDescriptionType. This is a SetItemFieldType.
    SetItemFieldType set = new SetItemFieldType();
    set.Item = modStartTime;
    set.Item1 = ciSetStart;

    // Set a custom property on a calendar item.
    PathToExtendedFieldType setMyProperty = new PathToExtendedFieldType();
    setMyProperty.DistinguishedPropertySetId = DistinguishedPropertySetType.PublicStrings;
    setMyProperty.DistinguishedPropertySetIdSpecified = true;
    setMyProperty.PropertyName = "Milestone date";
    setMyProperty.PropertyType = MapiPropertyTypeType.String;
    // Identify the custom property to set.
    ciSetEP.ExtendedProperty = new ExtendedPropertyType[1];
    ciSetEP.ExtendedProperty[0] = new ExtendedPropertyType();
    ciSetEP.ExtendedProperty[0].ExtendedFieldURI = setMyProperty;
    ciSetEP.ExtendedProperty[0].Item = "2007-07-18";
    // Add the calendar item and the identified custom property
    // to the ItemChangeDescriptionType. This is an SetItemFieldType.
    SetItemFieldType setCustomProp = new SetItemFieldType();
    setCustomProp.Item = setMyProperty;
    setCustomProp.Item1 = ciSetEP;

    // Delete optional attendees from the calendar item.
    PathToUnindexedFieldType delOptAttendees = new PathToUnindexedFieldType();
    delOptAttendees.FieldURI = UnindexedFieldURIType.calendarOptionalAttendees;
    // Add the property to delete to the ItemChangeDescriptionType.
    DeleteItemFieldType deletion = new DeleteItemFieldType();
    deletion.Item = delOptAttendees;            

    // Create the identifier of the item to update.
    ItemIdType itemId = new ItemIdType();
    itemId.Id = "AAAlAE1BQG";
    itemId.ChangeKey = "DwAAABYAAA";

    // Create and populate the request.
    UpdateItemType <span class="label">request</span> = new <span class="label">UpdateItemType</span>();
<span class="label">request</span>.ItemChanges = new ItemChangeType[1] { new ItemChangeType() };
<span class="label">request</span>.ItemChanges[0].Item = itemId;
<span class="label">request</span>.ItemChanges[0].Updates = new ItemChangeDescriptionType[4];
<span class="label">request</span>.ItemChanges[0].Updates[0] = append;
<span class="label">request</span>.ItemChanges[0].Updates[1] = set;
<span class="label">request</span>.ItemChanges[0].Updates[2] = deletion;
<span class="label">request</span>.ItemChanges[0].Updates[3] = setCustomProp;

<span class="label">request</span>.ConflictResolution = ConflictResolutionType.AutoResolve;
<span class="label">request</span>.SendMeetingInvitationsOrCancellations = CalendarItemUpdateOperationType.SendToAllAndSaveCopy;
<span class="label">request</span>.SendMeetingInvitationsOrCancellationsSpecified = true;

    // Send the update request and receive the response.
    UpdateItemResponseType response = esb.UpdateItem(<span class="label">request</span>);
    ArrayOfResponseMessagesType aormt = response.ResponseMessages;
    ResponseMessageType[] rmta = aormt.Items;

    foreach (ResponseMessageType rmt in rmta)
    {
        ItemInfoResponseMessageType respMsg = (rmt as ItemInfoResponseMessageType);
        foreach (ItemType item in respMsg.Items.Items)
        {
            Console.WriteLine("Item ID: " + item.ItemId.Id);
            Console.WriteLine("New change key: " + item.ItemId.ChangeKey);
            Console.ReadLine();
        }
    }
}

Hinweis: Der Elementbezeichner und der Änderungsschlüssel in der Anforderung wurden gekürzt, um die Lesbarkeit zu erhalten.

Hinweise

Sie können Eigenschaften anfügen, festlegen oder löschen, wenn Sie ein Element aktualisieren.

Wenn Sie versuchen, eine Änderungsbeschreibung zu übermitteln, die mehrere zu ändernde Eigenschaften enthält, wird ein ErrorIncorrectUpdatePropertyCount Fehler zurückgegeben.

Konstruktoren

UpdateItemType()

Der UpdateItemType Konstruktor initialisiert eine neue Instanz der UpdateItemType -Klasse.

Eigenschaften

ConflictResolution

Die ConflictResolution -Eigenschaft ruft einen Enumerationswert ab, der den Typ der Konfliktlösung darstellt, der während einer Aktualisierung ausgeführt wird, oder legt diesen fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

ItemChanges

Die ItemChanges -Eigenschaft ruft ein Array von Elementänderungen ab oder legt es fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

MessageDisposition

Die MessageDisposition -Eigenschaft ruft einen Enumerationswert ab, der beschreibt, wie ein Nachrichtenelement nach der Aktualisierung behandelt wird, oder legt diesen fest. Diese Eigenschaft ist für Nachrichtenelemente erforderlich, einschließlich Besprechungsnachrichten wie Besprechungsabsagen, Besprechungsanfragen und Besprechungsantworten. Dies ist eine Lese-/Schreibeigenschaft.

MessageDispositionSpecified

Die MessageDispositionSpecified -Eigenschaft ruft einen booleschen Wert ab, der angibt, ob die MessageDisposition Eigenschaft in die SOAP-Anforderung (Simple Object Access Protocol) serialisiert wird, oder legt diesen fest. Diese Eigenschaft ist erforderlich, wenn die MessageDisposition Eigenschaft festgelegt ist. Dies ist eine Lese-/Schreibeigenschaft.

SavedItemFolderId

Die SavedItemFolderId -Eigenschaft ruft den Zielordner für gespeicherte Elemente ab oder legt diese fest. Diese Eigenschaft wird entweder mit einem - oder DistinguishedFolderIdType -FolderIdTypeObjekt festgelegt. Diese Eigenschaft ist optional. Dies ist eine Lese-/Schreibeigenschaft.

SendMeetingInvitationsOrCancellations

Die SendMeetingInvitationsOrCancellations -Eigenschaft ruft einen Enumerationswert ab, der beschreibt, wie ein Kalenderelement nach der Aktualisierung behandelt wird, oder legt diesen fest. Diese Eigenschaft ist für Kalenderelemente erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

SendMeetingInvitationsOrCancellationsSpecified

Die SendMeetingInvitationsOrCancellationsSpecified -Eigenschaft ruft einen booleschen Wert ab, der angibt, ob die SendMeetingInvitationsOrCancellations Eigenschaft in die SOAP-Anforderung (Simple Object Access Protocol) serialisiert wird, oder legt diesen fest. Diese Eigenschaft ist erforderlich, wenn die SendMeetingInvitationsOrCancellations Eigenschaft festgelegt ist. Dies ist eine Lese-/Schreibeigenschaft.

Gilt für: