// 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); }
// 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(); } } }