Exemplo n.º 1
0
        // Token: 0x0600097A RID: 2426 RVA: 0x0003F83C File Offset: 0x0003DA3C
        public static void ExcludeDatabase(Guid databaseGuid)
        {
            HashSet <Guid> hashSet = null;

            lock (CalendarNotificationInitiator.mailboxGroups)
            {
                if (CalendarNotificationInitiator.mailboxGroups.ContainsKey(databaseGuid))
                {
                    hashSet = CalendarNotificationInitiator.mailboxGroups[databaseGuid];
                    CalendarNotificationInitiator.mailboxGroups.Remove(databaseGuid);
                }
            }
            if (hashSet == null)
            {
                return;
            }
            foreach (Guid mailboxGuid in hashSet)
            {
                MailboxData fromCache = MailboxData.GetFromCache(mailboxGuid);
                if (fromCache != null)
                {
                    using (fromCache.CreateWriteLock())
                    {
                        fromCache.Settings.Text  = null;
                        fromCache.Settings.Voice = null;
                        using (fromCache.Actions.SyncObj.CreateWriteLock())
                        {
                            CalendarNotificationInitiator.StopAll(fromCache);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
 // Token: 0x06000989 RID: 2441 RVA: 0x0003FFE4 File Offset: 0x0003E1E4
 private static void DisableUser(UserSettings settings, Guid mailboxGuid)
 {
     try
     {
         MailboxData mailboxData = MailboxData.CreateFromUserSettings(settings);
         if (mailboxData != null)
         {
             try
             {
                 MailboxData mailboxData2 = MailboxData.UpdateCache(ref mailboxData);
                 using (mailboxData2.CreateReadLock())
                 {
                     using (mailboxData2.Actions.SyncObj.CreateWriteLock())
                     {
                         CalendarNotificationInitiator.StopAll(mailboxData2);
                     }
                 }
             }
             finally
             {
                 if (mailboxData != null)
                 {
                     mailboxData.Dispose();
                     mailboxData = null;
                 }
             }
         }
         ExTraceGlobals.AssistantTracer.TraceDebug <string>((long)typeof(CalendarNotificationInitiator).GetHashCode(), "notif disabled, user: {0}", settings.LegacyDN);
     }
     catch (Exception ex)
     {
         if (!CalendarNotificationAssistant.TryHandleException((long)typeof(CalendarNotificationInitiator).GetHashCode(), "handling diabling", settings.LegacyDN, ex))
         {
             throw;
         }
     }
 }