private static SearchFolderCriteria CreateRemindersQueryForO12(DefaultFolderContext context, IEnumerable <QueryFilter> currentExclusionCriteria) { QueryFilter searchQuery = new AndFilter(new QueryFilter[] { SearchFolderValidation.GetSearchExclusionFoldersFilter(context, currentExclusionCriteria, SearchFolderValidation.ExcludeFromRemindersSearchFolder), new AndFilter(new QueryFilter[] { new NotFilter(new AndFilter(new QueryFilter[] { new ExistsFilter(InternalSchema.ItemClass), new TextFilter(InternalSchema.ItemClass, "IPM.Schedule", MatchOptions.Prefix, MatchFlags.Default) })), new ComparisonFilter(ComparisonOperator.Equal, InternalSchema.HasBeenSubmitted, false), RemindersSearchFolderValidation.CreateRemindersQueryForO11(context).SearchQuery }) }); return(new SearchFolderCriteria(searchQuery, new StoreId[] { context.Session.GetDefaultFolderId(DefaultFolderType.Root) }) { DeepTraversal = true }); }
private static QueryFilter GetQueryFilter(DefaultFolderContext context) { return(new AndFilter(new QueryFilter[] { SearchFolderValidation.GetSearchExclusionFoldersFilter(context, null, AllContactsFolderValidation.ExcludedFolders), new OrFilter(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, StoreObjectSchema.ItemClass, "IPM.Contact"), new ComparisonFilter(ComparisonOperator.Equal, StoreObjectSchema.ItemClass, "IPM.DistList") }) })); }
internal static QueryFilter GetUMVoicemailQueryFilter(DefaultFolderContext context) { return(new AndFilter(new QueryFilter[] { SearchFolderValidation.GetSearchExclusionFoldersFilter(context, null, UMVoiceMailValidation.excludeFromUMSearchFolder), new OrFilter(new QueryFilter[] { new ComparisonFilter(ComparisonOperator.Equal, StoreObjectSchema.ItemClass, "IPM.Note.Microsoft.Voicemail.UM.CA"), new ComparisonFilter(ComparisonOperator.Equal, StoreObjectSchema.ItemClass, "IPM.Note.rpmsg.Microsoft.Voicemail.UM.CA"), new ComparisonFilter(ComparisonOperator.Equal, StoreObjectSchema.ItemClass, "IPM.Note.rpmsg.Microsoft.Voicemail.UM"), new ComparisonFilter(ComparisonOperator.Equal, StoreObjectSchema.ItemClass, "IPM.Note.Microsoft.Exchange.Voice.UM.CA"), new ComparisonFilter(ComparisonOperator.Equal, StoreObjectSchema.ItemClass, "IPM.Note.Microsoft.Voicemail.UM"), new ComparisonFilter(ComparisonOperator.Equal, StoreObjectSchema.ItemClass, "IPM.Note.Microsoft.Exchange.Voice.UM") }) })); }
internal static SearchFolderCriteria GetToDoSearchCriteria(DefaultFolderContext context) { QueryFilter queryFilter = new OrFilter(new QueryFilter[] { new TextFilter(InternalSchema.ItemClass, "IPM.Task", MatchOptions.FullString, MatchFlags.IgnoreCase), new TextFilter(InternalSchema.ItemClass, "IPM.Task.", MatchOptions.Prefix, MatchFlags.IgnoreCase) }); QueryFilter queryFilter2 = new NotFilter(new AndFilter(new QueryFilter[] { new AndFilter(new QueryFilter[] { new ExistsFilter(InternalSchema.TaskType), new ComparisonFilter(ComparisonOperator.Equal, InternalSchema.TaskType, TaskDelegateState.Owned) }), new AndFilter(new QueryFilter[] { new ExistsFilter(InternalSchema.TaskAccepted), new ComparisonFilter(ComparisonOperator.NotEqual, InternalSchema.TaskAccepted, true) }) })); QueryFilter queryFilter3 = new AndFilter(new QueryFilter[] { new ExistsFilter(InternalSchema.ItemColor), new ComparisonFilter(ComparisonOperator.NotEqual, InternalSchema.ItemColor, 0) }); QueryFilter queryFilter4 = new AndFilter(new QueryFilter[] { new ExistsFilter(InternalSchema.MapiToDoItemFlag), new BitMaskFilter(InternalSchema.MapiToDoItemFlag, 1UL, true) }); OrFilter orFilter = new OrFilter(new QueryFilter[] { new AndFilter(new QueryFilter[] { new ExistsFilter(InternalSchema.MapiFlagStatus), new ComparisonFilter(ComparisonOperator.Equal, InternalSchema.MapiFlagStatus, 1), new OrFilter(new QueryFilter[] { new NotFilter(new ExistsFilter(InternalSchema.ItemColor)), new ComparisonFilter(ComparisonOperator.Equal, InternalSchema.ItemColor, 0) }) }), new AndFilter(new QueryFilter[] { new ExistsFilter(InternalSchema.TaskStatus), new ComparisonFilter(ComparisonOperator.Equal, InternalSchema.TaskStatus, 2) }) }); return(new SearchFolderCriteria(new AndFilter(new QueryFilter[] { SearchFolderValidation.GetSearchExclusionFoldersFilter(context, null, SearchFolderValidation.ExcludeFromRemindersSearchFolder), new OrFilter(new QueryFilter[] { new AndFilter(new QueryFilter[] { queryFilter, queryFilter2 }), queryFilter3, queryFilter4, orFilter }) }), new StoreId[] { context[DefaultFolderType.Root] }) { DeepTraversal = true }); }