internal static object DeviceNotificationTypeGetter(IPropertyBag propertyBag) { PushNotificationServerSubscription pushNotificationServerSubscription = PushNotificationSubscription.DeserializedSubscriptionGetter(propertyBag); if (pushNotificationServerSubscription != null) { return(pushNotificationServerSubscription.DeviceNotificationType); } return(null); }
// 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; } }
// Token: 0x06001435 RID: 5173 RVA: 0x00074A68 File Offset: 0x00072C68 internal static void LogSubscriptionUpdated(IPushNotificationSubscriptionItem subscription, PushNotificationServerSubscription subscriptionContract, Guid mailboxGuid) { PushNotificationsCrimsonEvents.SubscriptionCreated.Log <string, string, Guid, string>(subscription.SubscriptionId, subscriptionContract.AppId, mailboxGuid, subscription.SerializedNotificationSubscription); ExTraceGlobals.PushNotificationAssistantTracer.TraceDebug <Guid, byte>(0L, "Mailbox Header Table updated for {0} with new Subscription type {1}.", mailboxGuid, (byte)subscriptionContract.GetSubscriptionOption()); }
internal PushNotificationSubscription(ADObjectId userId, VersionedId versionId, string subscriptionId, string serializedSubscription) : base(new SimpleProviderPropertyBag()) { this.propertyBag.SetField(PushNotificationSubscriptionSchema.SubscriptionId, subscriptionId); if (versionId != null && userId != null) { this.propertyBag.SetField(PushNotificationSubscriptionSchema.SubscriptionStoreId, new PushNotificationStoreId(userId, versionId.ObjectId, this.SubscriptionId)); } try { this.propertyBag.SetField(PushNotificationSubscriptionSchema.DeserializedSubscription, PushNotificationServerSubscription.FromJson(serializedSubscription)); } catch (SerializationException ex) { this.SerializationError = new PropertyValidationError(Strings.ErrorDeserializingSubscription(serializedSubscription, ex.Message), PushNotificationSubscriptionSchema.DeserializedSubscription, serializedSubscription); } this.propertyBag.ResetChangeTracking(); }
internal static object InboxUnreadCountGetter(IPropertyBag propertyBag) { PushNotificationServerSubscription pushNotificationServerSubscription = PushNotificationSubscription.DeserializedSubscriptionGetter(propertyBag); return((pushNotificationServerSubscription == null) ? null : pushNotificationServerSubscription.InboxUnreadCount); }
internal static object LastSubscriptionUpdateGetter(IPropertyBag propertyBag) { PushNotificationServerSubscription pushNotificationServerSubscription = PushNotificationSubscription.DeserializedSubscriptionGetter(propertyBag); return((pushNotificationServerSubscription == null) ? null : new DateTime?(pushNotificationServerSubscription.LastSubscriptionUpdate)); }