private void FindNamedFolders(NamedFolderMapping[] map) { foreach (NamedFolderMapping namedFolderMapping in map) { FolderMapping wellKnownFolder = this.GetWellKnownFolder(namedFolderMapping.ParentType); if (wellKnownFolder != null) { FolderMapping folder = wellKnownFolder.FindChildByName(namedFolderMapping.FolderName, base.TargetMailboxCulture) as FolderMapping; this.SetWellKnownFolder(namedFolderMapping.WKFType, folder); } } }
private void MapFolderByName(FolderMapping sourceFolder, FolderMapping parentTargetFolder, bool createIfNeeded) { FolderMapping folderMapping = (FolderMapping)parentTargetFolder.FindChildByName(sourceFolder.FolderName, base.TargetMailboxCulture); if (folderMapping == null) { if (!createIfNeeded) { return; } folderMapping = new FolderMapping(sourceFolder.FolderName, sourceFolder.FolderType, sourceFolder.FolderClass); folderMapping.Parent = parentTargetFolder; } sourceFolder.TargetFolder = folderMapping; folderMapping.SourceFolder = sourceFolder; this.MapPublicFolderDumpster(sourceFolder, folderMapping); }
private FolderMapping FindFolderByPath(string folderRoot, string folderPath, bool createIfNeeded, out FolderMappingFlags parsedInheritanceFlags) { WellKnownFolderType wkfType; List <string> list; FolderFilterParser.Parse(folderPath, out wkfType, out list, out parsedInheritanceFlags); FolderMapping folderMapping = null; if (base.IsPublicFolderMailbox && this.rootFolder != null && (string.Compare(folderPath, "/*") == 0 || !string.IsNullOrEmpty(folderRoot))) { folderMapping = this.rootFolder; } else { folderMapping = this.GetWellKnownFolder(wkfType); } if (folderMapping != null) { foreach (string text in list) { FolderMapping folderMapping2 = (FolderMapping)folderMapping.FindChildByName(text, base.TargetMailboxCulture); if (folderMapping2 == null) { if (!createIfNeeded) { return(null); } folderMapping2 = new FolderMapping(text, FolderType.Generic, null); folderMapping2.Parent = folderMapping; } folderMapping = folderMapping2; } return(folderMapping); } return(folderMapping); }