2013-10-16 30 views
0

您對EWS的SearchFilter有任何經驗嗎?我試圖讓last modified time的任務比變量date的值更新。它真的以奇怪的方式處理這些代碼,我也嘗試將日期更改爲UTC時間格式。任何意見,我做錯了什麼?使用過濾器在特定日期之後獲取修改任務

 //Create the extended property definition. 
     ExtendedPropertyDefinition taskLastUpdate = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x3008, MapiPropertyType.SystemTime); 

     //Create the search filter. 
     SearchFilter.IsGreaterThanOrEqualTo filter = new SearchFilter.IsGreaterThanOrEqualTo(taskLastUpdate, date.ToString("s") + "Z"); 
     //Get the tasks. 
     FindItemsResults<Item> tasks = _service.FindItems(WellKnownFolderName.Tasks, filter, new ItemView(100)); 
+0

http://stackoverflow.com/questions/10980069/fetching-emails-for-a-specific-date-in-c-sharp-using-exchange-web-services – Vladimir

+0

謝謝。但是,正如你所看到的,我已經嘗試過相同的方式,但不適合我,我不知道爲什麼。 – eCorke

+0

我不知道,爲什麼你把你的日期轉換爲字符串。在上面的例子中有'DateTime'。 – Vladimir

回答

2

我不知道爲什麼沒有與ExtendedPropertyDefinition工作方式。

解決方案:

SearchFilter greaterthanfilter = new SearchFilter.IsGreaterThanOrEqualTo(ItemSchema.LastModifiedTime, date); 
SearchFilter filter = new SearchFilter.SearchFilterCollection(LogicalOperator.And, greaterthanfilter); 
Folder folder = Folder.Bind(_service, WellKnownFolderName.Tasks); //Or the folder you want to search in 
FindItemsResults<Item> results = folder.FindItems(filter, new ItemView(1000)); 
+0

我發現這是一個有用的例子,但你爲什麼使用「SearchFilterCollection」和一起單個項目?即使直接使用「greaterthanfilter」,它仍然可以工作。 –

相關問題