コード例 #1
0
        // Token: 0x060009C9 RID: 2505 RVA: 0x00040FA4 File Offset: 0x0003F1A4
        internal bool TryCreateReminderEmitting(CalendarInfo CalendarInfo, MailboxData mailboxData, out ReminderEmitting reminderEmitting)
        {
            reminderEmitting = null;
            List <ICalendarNotificationEmitter> list = new List <ICalendarNotificationEmitter>();

            foreach (NotificationFactoryBase notificationFactoryBase in this.factories)
            {
                ICalendarNotificationEmitter item;
                if (notificationFactoryBase.TryCreateEmitter(CalendarInfo, mailboxData, out item))
                {
                    list.Add(item);
                }
            }
            if (list.Count > 0)
            {
                reminderEmitting = new ReminderEmitting(CalendarInfo.ReminderTime, mailboxData, CalendarInfo, list);
            }
            return(reminderEmitting != null);
        }
コード例 #2
0
            // Token: 0x06000995 RID: 2453 RVA: 0x00040224 File Offset: 0x0003E424
            public void Perform()
            {
                if (this.CustomizedSteps != null)
                {
                    this.CustomizedSteps();
                    return;
                }
                CalendarNotificationAction calendarNotificationAction  = this.OldScheduledAction as CalendarNotificationAction;
                CalendarNotificationAction calendarNotificationAction2 = this.ScheduledAction as CalendarNotificationAction;
                Initiating       initiating        = this.OldScheduledAction as Initiating;
                Initiating       initiating2       = this.ScheduledAction as Initiating;
                ReminderEmitting reminderEmitting  = this.OldScheduledAction as ReminderEmitting;
                ReminderEmitting reminderEmitting2 = this.ScheduledAction as ReminderEmitting;

                if (this.OldScheduledAction != null && this.ScheduledAction != null && reminderEmitting != null && reminderEmitting.Dismiss())
                {
                    reminderEmitting.CalendarInfo.CopyFrom(reminderEmitting2.CalendarInfo);
                    if (reminderEmitting.Reschedule(reminderEmitting2.ExpectedTime))
                    {
                        ExTraceGlobals.AssistantTracer.TraceDebug((long)this.GetHashCode(), "rmd>>|<< caller: {0}, SUBJ: {1}, usr: {2}, calItemId: {3}, calItemOccId: {4}, event_t: {5}, rmd_t: {6}, s_t: {7}, e_t: {8}, subj: {9},EVENT_T: {10} RMD_T: {11}, S_T: {12}, E_T: {13}", new object[]
                        {
                            this.ContextInfo,
                            reminderEmitting2.CalendarInfo.NormalizedSubject,
                            reminderEmitting2.Context,
                            reminderEmitting2.CalendarInfo.CalendarItemIdentity,
                            reminderEmitting2.CalendarInfo.CalendarItemOccurrenceIdentity,
                            reminderEmitting.CalendarInfo.CreationRequestTime,
                            reminderEmitting.CalendarInfo.ReminderTime,
                            reminderEmitting.CalendarInfo.StartTime,
                            reminderEmitting.CalendarInfo.EndTime,
                            reminderEmitting.CalendarInfo.NormalizedSubject,
                            reminderEmitting2.CalendarInfo.CreationRequestTime,
                            reminderEmitting2.CalendarInfo.ReminderTime,
                            reminderEmitting2.CalendarInfo.StartTime,
                            reminderEmitting2.CalendarInfo.EndTime
                        });
                        reminderEmitting2.Dispose();
                        return;
                    }
                }
                if (this.OldScheduledAction != null && !this.OldScheduledAction.IsDisposed)
                {
                    if (calendarNotificationAction != null)
                    {
                        if (reminderEmitting != null)
                        {
                            ExTraceGlobals.AssistantTracer.TraceDebug((long)this.GetHashCode(), "rmd----- caller: {0}, subj: {1}, usr: {2}, calItemId: {3}, calItemOccId: {4}, event_t: {5}, rmd_t: {6}, s_t: {7}, e_t: {8}", new object[]
                            {
                                this.ContextInfo,
                                reminderEmitting.CalendarInfo.NormalizedSubject,
                                reminderEmitting.Context,
                                reminderEmitting.CalendarInfo.CalendarItemIdentity,
                                reminderEmitting.CalendarInfo.CalendarItemOccurrenceIdentity,
                                reminderEmitting.CalendarInfo.CreationRequestTime,
                                reminderEmitting.CalendarInfo.ReminderTime,
                                reminderEmitting.CalendarInfo.StartTime,
                                reminderEmitting.CalendarInfo.EndTime
                            });
                        }
                        calendarNotificationAction.Dispose();
                        if (calendarNotificationAction.Context != null && !calendarNotificationAction.Context.IsDisposed && !calendarNotificationAction.Context.Actions.IsDisposed)
                        {
                            calendarNotificationAction.Context.Actions.Remove(calendarNotificationAction);
                        }
                    }
                    else if (initiating != null)
                    {
                        initiating.Dispose();
                        CalendarNotificationInitiator.pendingInitiatings.Remove(initiating);
                    }
                }
                if (this.ScheduledAction != null && !this.ScheduledAction.IsDisposed)
                {
                    if (calendarNotificationAction2 != null)
                    {
                        if (reminderEmitting2 != null)
                        {
                            ExTraceGlobals.AssistantTracer.TraceDebug((long)this.GetHashCode(), "rmd+++++ caller: {0}, subj: {1}, usr: {2}, calItemId: {3}, calItemOccId: {4}, event_t: {5}, rmd_t: {6}, s_t: {7}, e_t: {8}", new object[]
                            {
                                this.ContextInfo,
                                reminderEmitting2.CalendarInfo.NormalizedSubject,
                                reminderEmitting2.Context,
                                reminderEmitting2.CalendarInfo.CalendarItemIdentity,
                                reminderEmitting2.CalendarInfo.CalendarItemOccurrenceIdentity,
                                reminderEmitting2.CalendarInfo.CreationRequestTime,
                                reminderEmitting2.CalendarInfo.ReminderTime,
                                reminderEmitting2.CalendarInfo.StartTime,
                                reminderEmitting2.CalendarInfo.EndTime
                            });
                        }
                        if (calendarNotificationAction2.Context != null && !calendarNotificationAction2.IsDisposed && !calendarNotificationAction2.Context.Actions.IsDisposed)
                        {
                            calendarNotificationAction2.Context.Actions.Add(calendarNotificationAction2);
                        }
                        calendarNotificationAction2.Schedule();
                        return;
                    }
                    if (initiating2 != null)
                    {
                        CalendarNotificationInitiator.pendingInitiatings.Add(initiating2);
                        initiating2.Schedule();
                    }
                }
            }