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