コード例 #1
0
        private async Task <string> ApplyEnqueuedModificationsAsync(MBoxWriteReference mbox)
        {
            var targetMailbox = mbox.Mailbox;
            var name          = MailUtilities.GetNameFromMailbox(targetMailbox);
            var rootName      = StripExtension(name);
            var currentPath   = mbox.TempPath;

            if (name != rootName)
            {
                currentPath = await AugmentReferencesAsync(currentPath, targetMailbox);
            }

            return(currentPath);
        }
コード例 #2
0
        private string GetFolderPath(string mailbox, string folder, string status)
        {
            // Turn foo/bar into .foo.bar, because that's what maildir says
            string folderPart = string.Join(
                "",
                folder.Split(FolderSeparator, StringSplitOptions.RemoveEmptyEntries)
                .Select(s => "." + s)
                .ToArray()
                );

            var nameFromMailbox = MailUtilities.GetNameFromMailbox(mailbox);


            return(Path.Combine(
                       _settings.MailLocalPath,
                       MailUtilities.GetDomainFromMailbox(mailbox),
                       StripExtension(nameFromMailbox),
                       folderPart,
                       status));
        }