Any sample code on how to update a contact in exchange ? I tried a sample code from the microsoft site but it doesn't show how to update the Business Address, Home & Other addresses, please note that i'm not using the EWS Managed API.
This is my code:
static void UpdateContact(ExchangeServiceBinding esb)
{
UpdateItemType updateItemType = new UpdateItemType();
updateItemType.ConflictResolution = ConflictResolutionType.AlwaysOverwrite;
updateItemType.ItemChanges = new ItemChangeType[1];
ItemChangeType changeType = new ItemChangeType();
ItemIdType contactId = new ItemIdType();
contactId.Id = "AAAt=";
contactId.ChangeKey = "EQAA";
changeType.Item = contactId;
changeType.Updates = new ItemChangeDescriptionType[1];
SetItemFieldType setItem = new SetItemFieldType();
PathToIndexedFieldType indexedField = new PathToIndexedFieldType();
indexedField.FieldIndex = "EmailAddress1";
indexedField.FieldURI = DictionaryURIType.contactsEmailAddress;
setItem.Item = indexedField;
ContactItemType contact = new ContactItemType();
contact.EmailAddresses = new EmailAddressDictionaryEntryType[1];
EmailAddressDictionaryEntryType emailAddress = new EmailAddressDictionaryEntryType();
emailAddress.Key = EmailAddressKeyType.EmailAddress1;
emailAddress.Value = "donhall@example.com";
contact.EmailAddresses[0] = emailAddress;
setItem.Item1 = contact;
changeType.Updates[0] = setItem;
updateItemType.ItemChanges[0] = changeType;
UpdateItemResponseType updateItemResponse = esb.UpdateItem(updateItemType);
if (updateItemResponse.ResponseMessages.Items.Length > 0 &&
updateItemResponse.ResponseMessages.Items[0].ResponseClass == ResponseClassType.Success)
{
ItemInfoResponseMessageType responseMessage = updateItemResponse.ResponseMessages.Items[0] as ItemInfoResponseMessageType;
ContactItemType contactResponse = responseMessage.Items.Items[0] as ContactItemType;
Console.WriteLine("Created Contact Item with Id {0} and ChangeKey {1}", contactResponse.ItemId.Id, contactResponse.ItemId.ChangeKey);
}
}
How can I programmatically update the contact addresses in exchange 2010?