Как найти, если папка существует в папке «Входящие» и создать, если не существует - PullRequest
6 голосов
/ 17 июня 2011

Просто начинаю использовать Exchange Webservices 1.1 на Exchange 2010. Я не могу найти пример того, как найти определенные папки и, если их нет, создать их.Как это сделать?

1 Ответ

14 голосов
/ 21 июня 2011

Ну, после нескольких дней возни и исследования в сети, я понял:

FolderView fv = new FolderView(10);

var findFoldersResults = service.FindFolders(
    WellKnownFolderName.Inbox,
    new SearchFilter.SearchFilterCollection(
        LogicalOperator.Or,
        new SearchFilter.ContainsSubstring(FolderSchema.DisplayName, "ERROR"), new SearchFilter.ContainsSubstring(FolderSchema.DisplayName, "ARCHIVE")),
    fv);

foreach (var folder in findFoldersResults)
{
    if (folder is Folder)
    {
        if (folder.DisplayName.ToUpper() == "ARCHIVE")
        {
            archiveFolderID = folder.Id;
        }
        else if (folder.DisplayName.ToUpper() == "ERROR")
        {
            errorFolderID = folder.Id;
        }

    }
}
//if archive folder not found create and assign the variable to the folderID
if (archiveFolderID == null)
{
    Folder folder = new Folder(service);
    folder.DisplayName = "ARCHIVE";
    folder.Save(WellKnownFolderName.Inbox);
    archiveFolderID = folder.Id;
}
//if error folder not found create and assign the variable to the folderID
if (errorFolderID == null)
{
    Folder folder = new Folder(service);
    folder.DisplayName = "ERROR";
    folder.Save(WellKnownFolderName.Inbox);
    errorFolderID = folder.Id;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...