微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

exchange webservices日程修改

说明:每一个字段的修改的要设置一遍,   将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] 举报,一经查实,本站将立刻删除。

相关推荐