Ejemplo n.º 1
0
        static void CountContents(FolderInfo folder)
        {
            FolderInfoCollection rootFolders = folder.GetSubFolders();

            totalItems += folder.ContentCount;

            if (folder.ContentCount > 0)
            {
                //foreach (var message in folder.GetContents(i, 50))
                foreach (var message in folder.EnumerateMapiMessages())
                {
                    var mi = new MessageInfo {
                        Id = message.InternetMessageId, Subject = message.Subject, AttachmentCount = message.Attachments.Count
                    };
                    Console.WriteLine(mi.Subject);
                    outputData.Add(mi);
                }
            }

            Console.WriteLine(folder.DisplayName + ": " + folder.ContentCount.ToString());

            foreach (FolderInfo subFolder in rootFolders)
            {
                // totalItems += subFolder.GetSubFolders().Count();
                CountContents(subFolder);
            }
        }
Ejemplo n.º 2
0
        void HandleFolderAndSubfolders(Action <MapiMessage> handler, FolderInfo folderInfo, MailConversionOptions options)
        {
            foreach (MapiMessage mapiMessage in folderInfo.EnumerateMapiMessages())
            {
                handler(mapiMessage);
            }

            if (folderInfo.HasSubFolders == true)
            {
                foreach (FolderInfo subfolderInfo in folderInfo.GetSubFolders())
                {
                    HandleFolderAndSubfolders(handler, subfolderInfo, options);
                }
            }
        }
Ejemplo n.º 3
0
        // ExStart:AddMessagesFromOtherPST
        private static void BulkAddFromAnotherPst(string source)
        {
            using (PersonalStorage pst = PersonalStorage.FromFile(source, false))
                using (PersonalStorage pstDest = PersonalStorage.FromFile(RunExamples.GetDataDir_Outlook() + "PersonalStorageFile1.pst"))
                {
                    // Get the folder by name
                    FolderInfo            folderInfo = pst.RootFolder.GetSubFolder("Contacts");
                    MessageInfoCollection ms         = folderInfo.GetContents();

                    // Get the folder by name
                    FolderInfo f = pstDest.RootFolder.GetSubFolder("myInbox");
                    f.MessageAdded += new MessageAddedEventHandler(OnMessageAdded);
                    f.AddMessages(folderInfo.EnumerateMapiMessages());
                    FolderInfo            fi   = pstDest.RootFolder.GetSubFolder("myInbox");
                    MessageInfoCollection msgs = fi.GetContents();
                }
        }