Exemple #1
0
 // Token: 0x0600034B RID: 843 RVA: 0x00014DB4 File Offset: 0x00012FB4
 internal void Build()
 {
     ElcUserInformation.Tracer.TraceDebug((long)this.GetHashCode(), "{0}: Looking up ELC folder information for mailbox.", new object[]
     {
         TraceContext.Get()
     });
     this.userAdFolders = AdFolderReader.GetUserElcFolders(base.MailboxSession, base.ADUser, this.allAdFolders, false, false);
     if (this.userAdFolders != null && this.userAdFolders.Count > 0)
     {
         ElcUserInformation.Tracer.TraceDebug <object, int>((long)this.GetHashCode(), "{0}: has {1} elc folders in the AD.", TraceContext.Get(), this.userAdFolders.Count);
     }
     else
     {
         ElcUserInformation.Tracer.TraceDebug((long)this.GetHashCode(), "{0}: has no elc folders.", new object[]
         {
             TraceContext.Get()
         });
     }
     ProvisionedFolderReader.GetProvisionedFoldersFromMailbox(base.MailboxSession, false, out this.elcRootFolderData, out this.mailboxFolders);
     if (this.mailboxFolders != null && this.mailboxFolders.Count > 0)
     {
         ElcUserInformation.Tracer.TraceDebug <object, int>((long)this.GetHashCode(), "{0}: Contains {1} elc folders in its mailbox.", TraceContext.Get(), this.mailboxFolders.Count);
     }
     else
     {
         ElcUserInformation.Tracer.TraceDebug((long)this.GetHashCode(), "{0}: Has no elc folders in its mailbox.", new object[]
         {
             TraceContext.Get()
         });
     }
     ProvisionedFolderReader.GetElcRootFolderInfo(base.MailboxSession, out this.elcRootId, out this.elcRootName, out this.elcRootHomePageUrl);
     ElcUserInformation.TracerPfd.TracePfd <int, object>((long)this.GetHashCode(), "PFD IWE {0} {1}: Completed ELC information for mailbox from AD and Store.", 27287, TraceContext.Get());
 }
        private static Folder GetRootFolder(MailboxSession mailboxSession, ElcFolderType folderType)
        {
            Folder result = null;

            if (folderType == ElcFolderType.Inbox)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Inbox, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.Calendar)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Calendar, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.SentItems)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.SentItems, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.DeletedItems)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.DeletedItems, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.Contacts)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Contacts, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.Calendar)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Calendar, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.Drafts)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Drafts, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.Outbox)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Outbox, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.JunkEmail)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.JunkEmail, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.Tasks)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Tasks, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.Journal)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Journal, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.Notes)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Notes, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.All)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Root, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.SyncIssues)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.SyncIssues, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.RssSubscriptions)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.RssSubscription, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.ConversationHistory)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.CommunicatorHistory, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.LegacyArchiveJournals)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.LegacyArchiveJournals, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.NonIpmRoot)
            {
                result = Folder.Bind(mailboxSession, DefaultFolderType.Configuration, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.RecoverableItems)
            {
                if (mailboxSession.GetDefaultFolderId(DefaultFolderType.RecoverableItemsRoot) == null)
                {
                    return(null);
                }
                result = Folder.Bind(mailboxSession, DefaultFolderType.RecoverableItemsRoot, GetMailboxFolderStatistics.folderStatProps);
            }
            else if (folderType == ElcFolderType.ManagedCustomFolder)
            {
                StoreObjectId storeObjectId = null;
                string        text          = null;
                string        text2         = null;
                ProvisionedFolderReader.GetElcRootFolderInfo(mailboxSession, out storeObjectId, out text, out text2);
                if (storeObjectId == null)
                {
                    return(null);
                }
                result = Folder.Bind(mailboxSession, storeObjectId, GetMailboxFolderStatistics.folderStatProps);
            }
            return(result);
        }