2017-06-19 10 views
0

複数の添付ファイルの場合にカテゴリを適用するサブフォルダに電子メールメッセージをコピーする機能があります。コピーされたメッセージへのバインド

SetCategory単純な拡張メソッドであること
void CopyInSubfolder(EmailMessage email, bool categorize) 
{ 
    PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.ParentFolderId); 
    Item item = email.Copy(_subFolder); 
    EmailMessage copiedMessage = EmailMessage.Bind(service, item.Id, propSet); 
    if (categorize) 
     copiedMessage.SetCategory("MULTIPLE ATTACHMENTS"); 
} 

public static void SetCategory(this EmailMessage pContainer, string pCategory) 
{ 
    StringList ExistingCategories = pContainer.Categories; 
    if(!ExistingCategories.Contains(pCategory)) 
    { 
     ExistingCategories.Add(pCategory); 
    } 
    pContainer.Update(ConflictResolutionMode.AutoResolve); 
} 

問題がどんなに多く、私はCopiedMessage項目にSetCategoryメソッドを実行しようとすると、私は常に空StringListオブジェクトを取得するということではありませんメッセージに既に存在する既存のカテゴリ。私が試して元のメッセージのメソッドを呼び出す場合、それは意図したとおりに動作するので、コピーされたメッセージにバインドするのに問題があると思います。コピー部分にはthis how-to article on MSDNを使用しました。

答えて

0

私は

PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.Categories) 

PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.ParentFolderId) 

を変更し、私はバインディングが全体項目に新しいオブジェクトをバインドするだろうと思ったが、私はそれはそれがどのように動作するかではないのですね。

関連する問題