public bool SetIsReadFlag(ItemIdType itemId)
{
SetItemFieldType setField = new SetItemFieldType();
MessageType message = new MessageType();
message.IsRead = true;
message.IsReadSpecified = true;
setField.Item1 = message;
PathToUnindexedFieldType path = new PathToUnindexedFieldType();
path.FieldURI = UnindexedFieldURIType.messageIsRead;
setField.Item = path;

ItemChangeType[] updatedItems = new ItemChangeType[1];
updatedItems[0] = new ItemChangeType();
updatedItems[0].Updates = new ItemChangeDescriptionType[1];
updatedItems[0].Updates[0] = setField;
ItemChangeDescriptionType[] updates = new ItemChangeDescriptionType[1];
updates[0] = new ItemChangeDescriptionType();
updates[0].Item = path;
updatedItems[0].Item = new ItemIdType();
((ItemIdType)updatedItems[0].Item).Id = itemId.Id;
((ItemIdType)updatedItems[0].Item).ChangeKey = itemId.ChangeKey;

UpdateItemType request = new UpdateItemType();
request.ItemChanges = updatedItems;
request.ConflictResolution = ConflictResolutionType.AutoResolve;
request.MessageDisposition = MessageDispositionType.SaveOnly;
request.MessageDispositionSpecified = true;
request.SendMeetingInvitationsOrCancellations = CalendarItemUpdateOperationType.SendToChangedAndSaveCopy;
request.SendMeetingInvitationsOrCancellationsSpecified = true;
UpdateItemResponseType response = this.m_esb.UpdateItem(request);
if (response.ResponseMessages.Items[0].ResponseClass != ResponseClassType.Success)
return false;
else
return true;
}posted @ 2008-06-16 21:16 West 阅读(165) 评论(2) 编辑
public bool DeleteItem(ItemType item)
{
// Create the request.
DeleteItemType request = new DeleteItemType();
// Identify the items to delete.
ItemIdType[] items = new ItemIdType[1];
items[0] = item.ItemId; //items[0].Id = "AAAlAE1BQG1";
request.ItemIds = items;
// Identify how deleted items are handled.
request.DeleteType = DisposalType.MoveToDeletedItems;
// Identify how tasks are deleted.
request.AffectedTaskOccurrences = AffectedTaskOccurrencesType.SpecifiedOccurrenceOnly;
request.AffectedTaskOccurrencesSpecified = true;
// Identify how meeting cancellations are handled.
request.SendMeetingCancellations = CalendarItemCreateOrDeleteOperationType.SendToAllAndSaveCopy;
request.SendMeetingCancellationsSpecified = true;
try
{
// Send the response and receive the request.
DeleteItemResponseType response = m_esb.DeleteItem(request);
ArrayOfResponseMessagesType aormt = response.ResponseMessages;
ResponseMessageType[] rmta = aormt.Items;
// Check each response message.
foreach (ResponseMessageType rmt in rmta)
{
if (rmt.ResponseClass == ResponseClassType.Error)
{
return false;
}
}
return true;
}
catch (Exception e)
{
throw new Exception("Error :" + e.Message);
}
}posted @ 2008-06-16 21:15 West 阅读(80) 评论(0) 编辑
如何移动邮件
public bool MoveItem(ItemType Item, DistinguishedFolderIdNameType destEmailFolder)
{
// Identify the items to move.
ItemIdType[] items = new ItemIdType[1] { Item.ItemId };
// Identify the destination folder.
DistinguishedFolderIdType destFolder = new DistinguishedFolderIdType();
destFolder.Id = destEmailFolder;
// 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 = m_esb.MoveItem(request);
ArrayOfResponseMessagesType aormt = response.ResponseMessages;
ResponseMessageType[] rmta = aormt.Items;
foreach (ResponseMessageType rmt in rmta)
{
if (rmt.ResponseClass == ResponseClassType.Error)
{
return false;
}
}
return true;
}
catch (Exception e)
{
throw new Exception("Error :" + e.Message);
}
}posted @ 2008-06-16 21:14 West 阅读(54) 评论(0) 编辑
posted @ 2008-06-16 21:08 West 阅读(262) 评论(4) 编辑
posted @ 2008-06-16 20:07 West 阅读(243) 评论(3) 编辑

