Esempio n. 1
0
 // Token: 0x0600079C RID: 1948 RVA: 0x000364A4 File Offset: 0x000346A4
 private static void AutoAcceptEvents(MailboxSession session, CalendarItemBase originalCalItem)
 {
     if (originalCalItem != null && !originalCalItem.IsCancelled)
     {
         bool flag;
         if (session.IsGroupMailbox())
         {
             CalendarProcessing.ProcessingRequestTracer.TraceDebug <IExchangePrincipal>(0L, "Processing meeting request for group mailbox {0}", session.MailboxOwner);
             originalCalItem.Reminder.IsSet = false;
             flag = false;
         }
         else
         {
             CalendarProcessing.ProcessingRequestTracer.TraceDebug <IExchangePrincipal>(0L, "Processing sent to self meeting request. Mailbox owner: {0}", session.MailboxOwner);
             flag = originalCalItem.ResponseRequested;
         }
         using (MeetingResponse meetingResponse = originalCalItem.RespondToMeetingRequest(ResponseType.Accept, true, flag, null, null))
         {
             if (flag)
             {
                 meetingResponse.Send();
             }
         }
         originalCalItem.Load();
     }
 }
Esempio n. 2
0
        public void Send()
        {
            ExTraceGlobals.CalendarCallTracer.TraceDebug((long)this.GetHashCode(), "EditMeetingResponseEventHandler.SendEditResponse");
            MeetingResponse meetingResponse = base.GetRequestItem <MeetingResponse>(new PropertyDefinition[0]);

            try
            {
                if (base.UpdateMessage(meetingResponse, StoreObjectType.MeetingMessage))
                {
                    throw new OwaEventHandlerException("Unresolved recipients", LocalizedStrings.GetNonEncoded(2063734279));
                }
                if (meetingResponse.Recipients.Count == 0)
                {
                    throw new OwaEventHandlerException("No recipients", LocalizedStrings.GetNonEncoded(1878192149));
                }
                if (Utilities.RecipientsOnlyHaveEmptyPDL <Recipient>(base.UserContext, meetingResponse.Recipients))
                {
                    base.RenderPartialFailure(1389137820);
                }
                else
                {
                    this.HandleSendOnBehalf(meetingResponse);
                    base.SaveHideMailTipsByDefault();
                    ExTraceGlobals.CalendarTracer.TraceDebug((long)this.GetHashCode(), "Sending meeting response");
                    meetingResponse.Send();
                    OwaStoreObjectId owaStoreObjectId = (OwaStoreObjectId)base.GetParameter("IdM");
                    if (owaStoreObjectId != null)
                    {
                        object parameter = base.GetParameter("PermanentDelete");
                        bool   flag      = parameter is bool && (bool)parameter;
                        if (flag)
                        {
                            Utilities.Delete(base.UserContext, DeleteItemFlags.SoftDelete, new OwaStoreObjectId[]
                            {
                                owaStoreObjectId
                            });
                        }
                        else
                        {
                            Utilities.Delete(base.UserContext, DeleteItemFlags.MoveToDeletedItems, new OwaStoreObjectId[]
                            {
                                owaStoreObjectId
                            });
                        }
                    }
                }
            }
            finally
            {
                if (meetingResponse != null)
                {
                    meetingResponse.Dispose();
                    meetingResponse = null;
                }
            }
        }
Esempio n. 3
0
 private static void NonEditResponseInternal(ResponseType responseType, CalendarItemBase calendarItemBase, bool sendResponse)
 {
     ExTraceGlobals.CalendarTracer.TraceDebug(0L, "Process meeting response without editing");
     calendarItemBase.LocationIdentifierHelperInstance.SetLocationIdentifier(42143U, LastChangeAction.RespondToMeetingRequest);
     using (MeetingResponse meetingResponse = MeetingUtilities.CreateMeetingResponse(responseType, calendarItemBase, sendResponse))
     {
         if (sendResponse)
         {
             meetingResponse.Send();
         }
     }
     MeetingUtilities.ProcessCalendarItemAfterResponse(responseType, calendarItemBase, sendResponse);
 }