private IStoreObjectDetails FindModelStoreObjectDetails(IStoreObject item) { var result = Model.Schemas.FirstOrDefault(x => x.Schema == item) as IStoreObjectDetails ?? Model.Queries.FirstOrDefault(x => x.Query == item) as IStoreObjectDetails ?? Model.Forms.FirstOrDefault(x => x.Form == item) as IStoreObjectDetails; return(result); }
// Token: 0x06001638 RID: 5688 RVA: 0x0007D8EC File Offset: 0x0007BAEC public void HandleEvent(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, bool isItemInDumpster, List <KeyValuePair <string, object> > customDataToLog) { this.Log.LogEntry(itemStore, "Event Reminder item received", new object[0]); Stopwatch stopwatch = Stopwatch.StartNew(); this.ReminderMessageManager.ReceivedReminderMessage(itemStore, item); stopwatch.Stop(); customDataToLog.Add(new KeyValuePair <string, object>("RemRcv.Latency", stopwatch.ElapsedMilliseconds.ToString())); }
// Token: 0x060013D4 RID: 5076 RVA: 0x00073581 File Offset: 0x00071781 internal void HandleEvent(IMapiEvent mapiEvent, IMailboxSession session, IStoreObject item) { if (PushNotificationMapiEventAnalyzer.IsSubscriptionChangeEvent(mapiEvent)) { this.HandleSubscriptionChangeEvent(session, item); return; } this.HandleNotificationEvent(mapiEvent, session, item); }
// Token: 0x060015EC RID: 5612 RVA: 0x0007B4E4 File Offset: 0x000796E4 public void HandleEvent(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, bool isItemInDumpster, List <KeyValuePair <string, object> > customDataToLog) { this.Log.LogEntry(itemStore, "Resubmitting reminder messages on MailboxMoveSucceeded", new object[0]); Stopwatch stopwatch = Stopwatch.StartNew(); int num = this.ReminderMessageManager.ResubmitReminderMessages(itemStore); stopwatch.Stop(); customDataToLog.Add(new KeyValuePair <string, object>("Resubmit.Latency", stopwatch.ElapsedMilliseconds.ToString())); customDataToLog.Add(new KeyValuePair <string, object>("Resubmit.Count", num)); }
public static System.Func <System.Func <object, object>, System.Func <object, object> > CrashReport( IStoreObject store) { return((System.Func <object, object> next) => (object action) => { try { return next(action); } catch (System.Exception e) { Debug.LogError("CrashReport: " + e.Message); throw e; } }); }
// Token: 0x060000C7 RID: 199 RVA: 0x00005318 File Offset: 0x00003518 internal static bool IsItemInDumpster(MailboxSession mailboxSession, IStoreObject storeObject) { if (storeObject != null && storeObject.ParentId != null) { using (COWSession cowsession = COWSession.Create(mailboxSession)) { return(cowsession.IsDumpsterFolder(mailboxSession, storeObject.ParentId)); } return(false); } return(false); }
public void OpenWindow(IStoreObject item) { if (ActivateWindow(item)) { return; } var w = new EditWindowDetails { StoreObject = item, StoreObjectDetails = FindModelStoreObjectDetails(item), Type = GetStoreObjectType(item) }; Model.EditWindows.Add(w); ActivateWindow(item); }
// Token: 0x060015C5 RID: 5573 RVA: 0x0007AB58 File Offset: 0x00078D58 public void HandleEvent(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, bool isItemInDumpster, List <KeyValuePair <string, object> > customDataToLog) { bool flag = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectModified); bool flag2 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectMoved); bool flag3 = Globals.IsStoreObjectDeleted(mapiEvent, itemStore, isItemInDumpster); bool flag4 = Globals.IsEventOfType(mapiEvent, MapiEventTypeFlags.ObjectCreated); ExAssert.RetailAssert(flag || flag2 || flag3 || flag4, "HandleEvent called for uninteresting event, eventMask={0}", new object[] { mapiEvent.EventMask }); if (flag3) { this.OnObjectDeleted(mapiEvent, itemStore, item, customDataToLog); return; } this.OnObjectModified(mapiEvent, itemStore, item, customDataToLog); }
public EditWindowType GetStoreObjectType(IStoreObject item) { if (item is StoreSchema) { return(EditWindowType.Schema); } else if (item is StoreQuery) { return(EditWindowType.Query); } else if (item is StoreForm) { return(EditWindowType.Form); } else if (item is StoreProject) { return(EditWindowType.ProjectSettings); } return(EditWindowType.Unknown); }
// Token: 0x060013D5 RID: 5077 RVA: 0x000735A0 File Offset: 0x000717A0 private void HandleSubscriptionChangeEvent(IMailboxSession session, IStoreObject item) { IPushNotificationSubscriptionItem pushNotificationSubscriptionItem = item as IPushNotificationSubscriptionItem; if (pushNotificationSubscriptionItem == null) { throw new InvalidStoreObjectInstanceException((item != null) ? item.GetType() : null); } try { PushNotificationServerSubscription pushNotificationServerSubscription = PushNotificationServerSubscription.FromJson(pushNotificationSubscriptionItem.SerializedNotificationSubscription); this.assistantCache.UpdateSubscriptionData(session.MailboxGuid, pushNotificationServerSubscription); if (pushNotificationServerSubscription.GetSubscriptionOption() == this.MailboxTable.ReadSubscriptionOnMailboxTable(session)) { ExTraceGlobals.PushNotificationAssistantTracer.TraceDebug <Guid>((long)this.GetHashCode(), "PushNotificationAssistantAdapter.HandleSubscriptionChangeEvent: Mailbox Header Table is up to date for {0}.", session.MailboxGuid); PushNotificationsAssistantPerfCounters.TotalSubscriptionsUpdated.Increment(); } else { this.MailboxTable.UpdateSubscriptionOnMailboxTable(session, pushNotificationServerSubscription); PushNotificationHelper.LogSubscriptionUpdated(pushNotificationSubscriptionItem, pushNotificationServerSubscription, session.MailboxGuid); PushNotificationsAssistantPerfCounters.TotalNewSubscriptionsCreated.Increment(); PushNotificationsAssistantPerfCounters.CurrentActiveUserSubscriptions.Increment(); } } catch (Exception ex) { Globals.Logger.LogEvent(InfoWorkerEventLogConstants.Tuple_FailedToUpdateSubscriptionOnMailboxTable, ex.ToString(), new object[] { pushNotificationSubscriptionItem.SerializedNotificationSubscription, session.MailboxGuid, ex.ToTraceString() }); throw; } }
public bool ActivateWindow(IStoreObject item) { var w = GetEditWindows().FirstOrDefault(x => x.StoreObject == item); if (w != null) { ActiveWindowIndex = GetEditWindows().IndexOf(w); ActiveWindowName = w.StoreObject.Name; if (GetStoreObjectType(item) == EditWindowType.Form) { FormBuilderControllerSwitchModel(item as StoreForm); //_formBuilderController.SwitchModel(form.Model); } else if (GetStoreObjectType(item) == EditWindowType.Query) { QueryControllerSwitchModel(item as StoreQuery); } return(true); } return(false); }
// Token: 0x060000EF RID: 239 RVA: 0x00005A6C File Offset: 0x00003C6C private static void HandleContact(MapiEvent mapiEvent, MailboxSession mailboxSession, IStoreObject contactStoreObject, Trace tracer) { tracer.TraceDebug(0L, "BirthdayAssistant:HandleContact enter"); BirthdayAssistantBusinessLogic birthdayAssistantBusinessLogic = new BirthdayAssistantBusinessLogic(); if (Globals.IsStoreObjectDeleted(mapiEvent, mailboxSession, contactStoreObject)) { tracer.TraceDebug(0L, "BirthdayAssistant:HandleContact: contact was deleted"); StoreObjectId birthdayContactStoreObjectId = StoreObjectId.FromProviderSpecificId(mapiEvent.OldItemEntryId, StoreObjectType.Contact); birthdayAssistantBusinessLogic.OnContactDeleted(birthdayContactStoreObjectId, mailboxSession); } else if ((mapiEvent.EventMask & MapiEventTypeFlags.ObjectCreated) != (MapiEventTypeFlags)0) { tracer.TraceDebug(0L, "BirthdayAssistant:HandleContact: contact was created"); BirthdayContact birthdayContact = BirthdayContactTranslator.Instance.ConvertToEntity(contactStoreObject as IContact); tracer.TraceDebug(0L, "BirthdayAssistant:HandleContact: converted contact to entity"); birthdayAssistantBusinessLogic.OnContactAdded(birthdayContact, mailboxSession); } else if ((mapiEvent.EventMask & MapiEventTypeFlags.ObjectModified) != (MapiEventTypeFlags)0) { tracer.TraceDebug(0L, "BirthdayAssistant:HandleContact: contact was modified"); BirthdayContact birthdayContact2 = BirthdayContactTranslator.Instance.ConvertToEntity(contactStoreObject as IContact); birthdayAssistantBusinessLogic.OnContactModified(birthdayContact2, mailboxSession); } else { tracer.TraceDebug <MapiEvent>(0L, "BirthdayAssistant:HandleContact: no-op for MAPI event {0}", mapiEvent); } tracer.TraceDebug(0L, "BirthdayAssistant:HandleContact exit"); }
// Token: 0x060015D5 RID: 5589 RVA: 0x0007ADD8 File Offset: 0x00078FD8 protected override void OnObjectDeleted(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog) { ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "EmailModernReminderProcessor.OnObjectDeleted"); if (item != null) { ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "EmailModernReminderProcessor.OnObjectDeleted - item exists"); IToDoItem messageItem = (IToDoItem)item; this.DeleteReminderMessages(itemStore, messageItem, customDataToLog); } }
// Token: 0x060015C8 RID: 5576 protected abstract void OnObjectDeleted(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog);
// Token: 0x060015DC RID: 5596 RVA: 0x0007B1D8 File Offset: 0x000793D8 protected override void OnObjectDeleted(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog) { ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "EventTimeBasedInboxReminderProcessor.OnObjectDeleted"); if (item is ICalendarItem && item.StoreObjectId != null) { ICalendarItem calendarItem = (ICalendarItem)item; if (calendarItem.GlobalObjectId == null) { base.Log.LogEntry(itemStore, "EventTimeBasedInboxReminder.OnObjectDeleted - Calendar item missing GOID", new object[0]); return; } base.Log.LogEntry(itemStore, "EventTimeBasedInboxReminder.OnObjectDeleted - Start Time:{0}, End Time:{1}", new object[] { calendarItem.StartTime.UniversalTime, calendarItem.EndTime.UniversalTime }); this.DeleteReminderMessages(itemStore, calendarItem, customDataToLog); } }
public System.Func <System.Func <object, object>, System.Func <object, object> > Process(IStoreObject store) { return((System.Func <object, object> next) => (object action) => { if (action is RequestAction && this.InjectGameObject != null) { var entity = (RequestAction)action; Observable.FromCoroutine <ResponseAction>(observer => Request( entity.Url, data => { observer.OnNext(data); observer.OnCompleted(); }, error => observer.OnError(new Exception("Network error")) ) ) .Subscribe(data => next(data), error => next(error)) .AddTo(this.InjectGameObject); } return null; }); }
// Token: 0x06001659 RID: 5721 RVA: 0x0007DEAC File Offset: 0x0007C0AC protected override void OnObjectModified(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog) { ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectModified"); if (item != null) { ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectModified - item exists"); IToDoItem toDoItem = (IToDoItem)item; Reminders <ModernReminder> reminders = toDoItem.ModernReminders; if (reminders != null) { ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectModified - Reminders exist -> schedule reminder"); int numRemindersScheduled = 0; customDataToLog.Add(new KeyValuePair <string, object>("ToDoRemSchd.Latency", base.ExecuteAndMeasure(delegate { numRemindersScheduled = this.ReminderMessageManager.ScheduleReminder(itemStore, toDoItem, reminders); }).ToString())); customDataToLog.Add(new KeyValuePair <string, object>("ToDoRemSchd.Count", numRemindersScheduled)); return; } ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectModified - Modern reminders don't exist -> clearing the reminder"); customDataToLog.Add(new KeyValuePair <string, object>("ToDoRemClr.Latency", base.ExecuteAndMeasure(delegate { this.ReminderMessageManager.ClearReminder(itemStore, toDoItem); }).ToString())); } }
// Token: 0x0600165A RID: 5722 RVA: 0x0007DFFF File Offset: 0x0007C1FF protected override void OnObjectDeleted(IMapiEvent mapiEvent, IMailboxSession itemStore, IStoreObject item, List <KeyValuePair <string, object> > customDataToLog) { ExTraceGlobals.GeneralTracer.TraceDebug((long)this.GetHashCode(), "ToDoModernReminderProcessor.OnObjectDeleted"); }
public static void Build(this IStoreObject storeObject) { var store = storeObject as IInitialize; store.Initialize(); }
public static System.Func <System.Func <object, object>, System.Func <object, object> > Thunk(IStoreObject store) { return((System.Func <object, object> next) => (object action) => { return Observable.ReturnUnit().Select(_ => { next(action); return Unit.Default; }); }); }
// Token: 0x060000CA RID: 202 RVA: 0x00005393 File Offset: 0x00003593 internal static bool IsStoreObjectDeleted(IMapiEvent mapiEvent, MailboxSession mailboxSession, IStoreObject storeObject) { return(storeObject == null || Globals.IsStoreObjectDeleted(mapiEvent, mailboxSession, Globals.IsItemInDumpster(mailboxSession, storeObject))); }
// Token: 0x060013D6 RID: 5078 RVA: 0x000736A8 File Offset: 0x000718A8 private void HandleNotificationEvent(IMapiEvent mapiEvent, IMailboxSession session, IStoreObject item) { PushNotificationContext pushNotificationContext = new PushNotificationContext { OriginalTime = ExDateTime.UtcNow }; if (this.assistantCache.ShouldProcessUnseenEmailEvent(session, this.XSOFactory, mapiEvent) && this.PopulateSubscriptionsAndTenantId(mapiEvent, session, pushNotificationContext)) { if (this.assistantCache.IsBackgroundSyncEnabled(mapiEvent.MailboxGuid)) { pushNotificationContext.BackgroundSyncType = BackgroundSyncType.Email; } pushNotificationContext.UnseenEmailCount = new int?(this.ResolveUnseenEmailCount(mapiEvent, pushNotificationContext.Subscriptions)); PushNotificationHelper.LogMailboxNotificationResolution(mapiEvent.MailboxGuid, pushNotificationContext); this.NotificationBatchManager.Add(mapiEvent.MailboxGuid, pushNotificationContext); } }
public static System.Func <System.Func <object, object>, System.Func <object, object> > Logger(IStoreObject store) { return((System.Func <object, object> next) => (object action) => { // Debug.Log("previous state: " + store.ObjectState); // Debug.Log("action: " + action); var result = next(action); // Debug.Log("next state: " + store.ObjectState); return result; }); }