private static SearchFolderCriteria CreateUMVoiceMailSearchCriteria(DefaultFolderContext context) { return(new SearchFolderCriteria(UMVoiceMailValidation.GetUMVoicemailQueryFilter(context), new StoreId[] { context[DefaultFolderType.Root] }) { DeepTraversal = true }); }
private bool ValidateUMVoiceMailFilter(DefaultFolderContext context, OutlookSearchFolder folder) { SearchFolderCriteria searchFolderCriteria = SearchFolderValidation.TryGetSearchCriteria(folder); if (searchFolderCriteria == null || !UMVoiceMailValidation.GetUMVoicemailQueryFilter(context).Equals(searchFolderCriteria.SearchQuery)) { folder.ApplyContinuousSearch(UMVoiceMailValidation.CreateUMVoiceMailSearchCriteria(context)); folder.MakeVisibleToOutlook(true); } return(true); }
protected override void SetPropertiesInternal(DefaultFolderContext context, Folder folder) { base.SetPropertiesInternal(context, folder); folder[InternalSchema.OutlookSearchFolderClsId] = UMVoiceMailValidation.UmVoiceMailClsId; folder.ClassName = "IPF.Note.Microsoft.Voicemail"; OutlookSearchFolder outlookSearchFolder = (OutlookSearchFolder)folder; outlookSearchFolder.Save(); outlookSearchFolder.ApplyContinuousSearch(UMVoiceMailValidation.CreateUMVoiceMailSearchCriteria(context)); outlookSearchFolder.Load(null); outlookSearchFolder.MakeVisibleToOutlook(true); }