UpdateItemType Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Beispiele
Im folgenden Codebeispiel wird gezeigt, wie Sie eine Besprechung aktualisieren. In diesem Beispiel werden folgende Aktionen ausgeführt:
- Fügt der Besprechung einen neuen erforderlichen Teilnehmer hinzu.
- Aktualisierungen die Startzeit der Besprechung auf die aktuelle Uhrzeit auf dem Client.
- Fügt der Besprechung eine benutzerdefinierte MAPI-Eigenschaft hinzu.
- Löscht alle optionalen Teilnehmer.
- Löst alle Konflikte im Aktualisierungsvorgang automatisch auf.
- 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. |