2016-10-28 5 views
0

Exchange 2010 Serverのパブリックフォルダに格納されている電子メールから添付ファイルを取得し、添付ファイルをファイルに保存した後、電子メールを「完了」としてマークします。EWSを使用してアイテムを「完了」に設定する方法

メールのリスト、および検索結果をフィルタリングするために意図したとおりに動作TaskSchema.IsCompleteプロパティを取得するのは簡単です:(「にPosteingangは」私が検索したいパブリックフォルダである)

FindItemsResults<Item> findItemResults; 
    ItemView    view = new ItemView(50); 

    findItemResults = service.findItems(posteingang.getId(), 
             new SearchFilter.SearchFilterCollection(
              LogicalOperator.And, 
              new SearchFilter.ContainsSubstring(ItemSchema.Subject, "example"),             
              new SearchFilter.IsNotEqualTo(TaskSchema.IsComplete, true) 
             ), 
             view); 

     service.loadPropertiesForItems(findItemResults, PropertySet.FirstClassProperties); 
     for (Item item : findItemResults) { 

       EmailMessage msg = (EmailMessage) item; 
       msg.setIsRead(true); 
       msg.setCategories(SL_DARVIN); 
       msg.setImportance(Importance.Low); 
       msg.update(ConflictResolutionMode.AlwaysOverwrite); 

     } 

しかし、私は完全に電子メールをマークしたい部分に来る、私はどのように行うには手がかりがありません。 taskitemをキャストすると

:-(動作しません誰もがアイデアを持っています

PS:?コード例は、Javaであるが、EWSのAPIのおかげで、彼らは、C#でほぼ同じでなければなりません。

答えて

0

あなたは

 ExtendedPropertyDefinition PidTagFlagStatus = new ExtendedPropertyDefinition(0x1090, MapiPropertyType.Integer); 
     ExtendedPropertyDefinition PidTagFlagCompleteTime = new ExtendedPropertyDefinition(0x1091, MapiPropertyType.SystemTime); 
     ExtendedPropertyDefinition PidLidTaskComplete = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x811C,MapiPropertyType.Boolean);    
     ExtendedPropertyDefinition PidLidCommonEnd = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Common, 0x8517, MapiPropertyType.SystemTime); 
     ExtendedPropertyDefinition PidLidTaskStatus = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x8101, MapiPropertyType.Integer); 
     ExtendedPropertyDefinition PidLidPercentComplete = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x8102, MapiPropertyType.Double); 
     ExtendedPropertyDefinition TaskDateCompleted = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x810F, MapiPropertyType.SystemTime); 
     ExtendedPropertyDefinition PidTagFollowupIcon = new ExtendedPropertyDefinition(0x1095, MapiPropertyType.Integer); 


     Message.SetExtendedProperty(PidTagFlagStatus, 0x00000001); 
     Message.SetExtendedProperty(PidTagFlagCompleteTime, DateTime.Now); 
     Message.SetExtendedProperty(PidLidTaskComplete, true); 
     Message.SetExtendedProperty(PidLidCommonEnd, DateTime.Now); 
     Message.SetExtendedProperty(PidLidTaskStatus, 2); 
     Message.SetExtendedProperty(PidLidPercentComplete, 1); 
     Message.SetExtendedProperty(TaskDateCompleted, DateTime.Now); 
     Message.SetExtendedProperty(PidTagFollowupIcon, 3); 
     Message.Update(ConflictResolutionMode.AlwaysOverwrite); 
のようなものなどの拡張プロパティを使用して完全としてそれをマークすることができるはずです
関連する問題