Example #1
0
 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);
         }
     }
 }
Example #2
0
        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);
        }
Example #3
0
        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);
        }