public static MeetingResponse EditResponse(ResponseType responseType, CalendarItemBase calendarItemBase) { if (calendarItemBase == null) { throw new ArgumentNullException("calendarItemBase"); } MeetingUtilities.ThrowIfMeetingResponseInvalid(calendarItemBase); return(MeetingUtilities.EditResponseInternal(responseType, calendarItemBase)); }
public static void NonEditResponse(ResponseType responseType, CalendarItemBase calendarItemBase, bool sendResponse, MeetingRequest meetingRequest) { if (calendarItemBase == null) { throw new ArgumentNullException("calendarItemBase"); } MeetingUtilities.ThrowIfMeetingResponseInvalid(calendarItemBase); MeetingUtilities.NonEditResponseInternal(responseType, calendarItemBase, sendResponse); if (meetingRequest != null) { MeetingUtilities.DeleteMeetingRequestAfterResponse(meetingRequest); } }
public static MeetingResponse EditResponse(ResponseType responseType, MeetingRequest meetingRequest) { if (meetingRequest == null) { throw new ArgumentNullException("meetingRequest"); } MeetingUtilities.ThrowIfMeetingResponseInvalid(meetingRequest); MeetingResponse result; using (CalendarItemBase calendarItemBase = MeetingUtilities.UpdateCalendarItem(meetingRequest)) { result = MeetingUtilities.EditResponseInternal(responseType, calendarItemBase); } return(result); }
public static CalendarItemBase UpdateCalendarItem(MeetingRequest meetingRequest) { if (meetingRequest == null) { throw new ArgumentNullException("meetingRequest"); } MeetingUtilities.ThrowIfMeetingResponseInvalid(meetingRequest); CalendarItemBase calendarItemBase = null; try { try { ExTraceGlobals.CalendarTracer.TraceDebug <string>(0L, "Retreiving calendar item associated with meeting request. Value = '{0}'", (meetingRequest.Id != null && meetingRequest.Id.ObjectId != null) ? meetingRequest.Id.ObjectId.ToBase64String() : "null"); if (meetingRequest.IsOutOfDate()) { throw new OwaOperationNotSupportedException(LocalizedStrings.GetNonEncoded(-1085726012)); } calendarItemBase = meetingRequest.UpdateCalendarItem(true); if (calendarItemBase == null) { throw new OwaInvalidOperationException("meetingRequest.UpdateCalendarItem returns null."); } calendarItemBase.Load(); } catch (CorrelationFailedException ex) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Calendar item associated with meeting request could not be found. Exception: {0}", ex.Message); throw; } catch (StoragePermanentException ex2) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Calendar item associated with meeting request could not be found. Exception: {0}", ex2.Message); throw; } catch (InvalidOperationException ex3) { if (ex3.Message == ServerStrings.ExOrganizerCannotCallUpdateCalendarItem) { throw new OwaOperationNotSupportedException(LocalizedStrings.GetNonEncoded(679811893)); } throw; } try { MeetingUtilities.SaveItem(meetingRequest, new PropertyDefinition[] { MeetingMessageSchema.CalendarProcessed, StoreObjectSchema.ParentItemId }); } catch (OwaSaveConflictException ex4) { ExTraceGlobals.CalendarDataTracer.TraceDebug <string>(0L, "Calendar item associated with meeting request could not be saved. Exception: {0}", ex4.Message); throw; } } catch { if (calendarItemBase != null) { calendarItemBase.Dispose(); calendarItemBase = null; } throw; } if (Globals.ArePerfCountersEnabled) { OwaSingleCounters.ItemsCreated.Increment(); } return(calendarItemBase); }