说明:每一个字段的修改的要设置一遍, 将UnindexedFieldURIType.calendarViewType不知道可不可以只用一个对象;谁知到你分享一下
protected Hashtable UpdateItem(String userid,String Id,String changeKey)
{Exchange ec = new Exchange();
Hashtable ht = new Hashtable();
assistant.initESB(userid,ec);
// Create calendar items to contain each non-deletion update.
CalendarItemType updateAddress = new CalendarItemType();
CalendarItemType updatesubject = new CalendarItemType();
CalendarItemType updateBody = new CalendarItemType();
CalendarItemType updateStartTime = new CalendarItemType();
CalendarItemType updateEndTime = new CalendarItemType();
//CalendarItemType updatestatus = new CalendarItemType();
//CalendarItemType updateImportance = new CalendarItemType();
//CalendarItemType updateType = new CalendarItemType();
updateAddress.Location = Address.Text;
updatesubject.Subject = EventName.Text;
updateBody.Body = new BodyType();
updateBody.Body.BodyType1 = BodyTypeType.Text;
updateBody.Body.Value = Content.Text;
updateStartTime.Start = Convert.ToDateTime(StartTime.Text);
updateStartTime.StartSpecified = true;
updateEndTime.End = Convert.ToDateTime(EndTime.Text);
updateEndTime.EndSpecified = true;
//updateStartTime.Start = Convert.ToDateTime(StartTime.Text);
//updateEndTime.End = Convert.ToDateTime(EndTime.Text);
PathToUnindexedFieldType modAddress = new PathToUnindexedFieldType();
PathToUnindexedFieldType modsubject = new PathToUnindexedFieldType();
PathToUnindexedFieldType modBody = new PathToUnindexedFieldType();
PathToUnindexedFieldType modStartTime = new PathToUnindexedFieldType();
PathToUnindexedFieldType modEndTime = new PathToUnindexedFieldType();
modAddress.FieldURI = UnindexedFieldURIType.calendarLocation; modsubject.FieldURI = UnindexedFieldURIType.itemSubject; modBody.FieldURI = UnindexedFieldURIType.itemBody; modStartTime.FieldURI = UnindexedFieldURIType.calendarStart; modEndTime.FieldURI = UnindexedFieldURIType.calendarEnd; SetItemFieldType setAddress = new SetItemFieldType(); SetItemFieldType setsubject = new SetItemFieldType(); SetItemFieldType setBody = new SetItemFieldType(); SetItemFieldType setStartTime = new SetItemFieldType(); SetItemFieldType setEndTime = new SetItemFieldType(); setAddress.Item = modAddress; setAddress.Item1 = updateAddress; setsubject.Item = modsubject; setsubject.Item1 = updatesubject; setBody.Item = modBody; setBody.Item1 = updateBody; setStartTime.Item = modStartTime; setStartTime.Item1 = updateStartTime; setEndTime.Item = modEndTime; setEndTime.Item1 = updateEndTime; // Create the identifier of the item to update. ItemIdType itemId = new ItemIdType(); itemId.Id = Id; itemId.ChangeKey = changeKey; // Create and populate the request. UpdateItemType request = new UpdateItemType(); request.ItemChanges = new ItemChangeType[1] { new ItemChangeType() }; request.ItemChanges[0].Item = itemId; request.ItemChanges[0].Updates = new ItemChangeDescriptionType[5]; request.ItemChanges[0].Updates[0] = setAddress; request.ItemChanges[0].Updates[1] = setsubject; request.ItemChanges[0].Updates[2] = setBody; request.ItemChanges[0].Updates[3] = setStartTime; request.ItemChanges[0].Updates[4] = setEndTime; request.ConflictResolution = ConflictResolutionType.AutoResolve; request.SendMeetingInvitationsOrCancellations = CalendarItemUpdateOperationType.SendToAllAndSavecopy; request.SendMeetingInvitationsOrCancellationsspecified = true; // Send the update request and receive the response. UpdateItemResponseType response = ec.exchangeServer.UpdateItem(request); ArrayOfResponseMessagesType aormt = response.ResponseMessages; ResponseMessageType[] rmta = aormt.Items; assistant.WriteFile("C:\\DEBUG.txt",rmta.Length.ToString()); if(rmta.Length>0) foreach (ResponseMessageType rmt in rmta) { ItemInfoResponseMessageType respMsg = (rmt as ItemInfoResponseMessageType); if (null != respMsg && null != respMsg.Items && null != respMsg.Items.Items) foreach (ItemType item in respMsg.Items.Items) { ht.Add(item.ItemId.Id,item.ItemId.ChangeKey); assistant.WriteFile("C:\\DEBUG.txt",item.ItemId.Id + "\n" + item.ItemId.ChangeKey); } } return ht; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。