private void VerifyFromFavoriteSendersFolderEntryId(DefaultFolderContext context) { CultureInfo defaultFoldersCulture = context.Session.SharedDataManager.DefaultFoldersCulture; DefaultFolder defaultFolder = this.DefaultFolders[54]; if (defaultFolder == null || defaultFolder.FolderId == null) { ExTraceGlobals.DefaultFoldersTracer.TraceDebug((long)this.GetHashCode(), "DefaultFolderManager::VerifyFromFavoriteSendersFolderEntryId. MyContacts folder information or the folder id is null. Returning."); return; } DefaultFolder defaultFolder2 = this.DefaultFolders[63]; if (defaultFolder2 == null || defaultFolder2.FolderId == null) { ExTraceGlobals.DefaultFoldersTracer.TraceDebug((long)this.GetHashCode(), "DefaultFolderManager::VerifyFromFavoriteSendersFolderEntryId. FromFavoriteSenders folder or the folder id is null. Returning."); return; } if (!defaultFolder.FolderId.Equals(defaultFolder2.FolderId)) { ExTraceGlobals.DefaultFoldersTracer.TraceDebug((long)this.GetHashCode(), "DefaultFolderManager::VerifyFromFavoriteSendersFolderEntryId. FromFavoriteSenders folder id doesn't match MyContacts folder id. Returning."); return; } string localizableDisplayName = DefaultFolderManager.GetLocalizableDisplayName(DefaultFolderType.MyContacts, defaultFoldersCulture); string localizableDisplayName2 = DefaultFolderManager.GetLocalizableDisplayName(DefaultFolderType.FromFavoriteSenders, defaultFoldersCulture); if (localizableDisplayName.Equals(localizableDisplayName2, StringComparison.OrdinalIgnoreCase)) { ExTraceGlobals.DefaultFoldersTracer.TraceDebug <string, CultureInfo>((long)this.GetHashCode(), "DefaultFolderManager::VerifyFromFavoriteSendersFolderEntryId. FromFavoriteSenders display name matches MyContacts display name '{0}' in culture {1}. Returning.", localizableDisplayName, defaultFoldersCulture); return; } ExTraceGlobals.DefaultFoldersTracer.TraceDebug((long)this.GetHashCode(), "DefaultFolderManager::VerifyFromFavoriteSendersFolderEntryId. Deleting and recreating FromFavoriteSenders and MyContacts folders to fix folder id conflict."); defaultFolder.RemoveForRecover(); defaultFolder2.RemoveForRecover(); DefaultFolderType[] foldersToInit = new DefaultFolderType[] { DefaultFolderType.MyContacts, DefaultFolderType.FromFavoriteSenders }; this.CacheDefaultFolders(context, foldersToInit); }
internal CultureInfo GetBestCulture(CultureInfo stampedCulture, string inboxDisplayName, MailboxSession session) { List <CultureInfo> list = new List <CultureInfo>(); if (stampedCulture != null) { list.Add(stampedCulture); } if (inboxDisplayName != null) { CultureInfo cultureInfo = session.MailboxOwner.PreferredCultures.FirstOrDefault <CultureInfo>(); if (cultureInfo != null) { string localizableDisplayName = DefaultFolderManager.GetLocalizableDisplayName(DefaultFolderType.Inbox, cultureInfo); if (string.Equals(localizableDisplayName, inboxDisplayName, StringComparison.OrdinalIgnoreCase)) { list.Add(cultureInfo); } } } list.Add(session.InternalPreferedCulture); return(Util.CultureSelector.GetPreferedCulture(list.ToArray())); }