public static string GetSearchView(this Vault vault, string search, bool onlyDoc = true) { var viewName = "搜索:" + search + " - " + DateTime.Now.ToString("yyyyMMddHHmmss"); var oViewNew = new View { Name = viewName }; var searchStr = search ?? String.Empty; if (!String.IsNullOrWhiteSpace(searchStr)) { searchStr += "*"; } else { searchStr = String.Empty; } var oSc = new SearchCriteria { FullTextSearchString = searchStr, FullTextSearchFlags = (MFFullTextSearchFlags.MFFullTextSearchFlagsStemming | MFFullTextSearchFlags.MFFullTextSearchFlagsLookInMetaData | MFFullTextSearchFlags.MFFullTextSearchFlagsLookInFileData | MFFullTextSearchFlags.MFFullTextSearchFlagsTypeAnyWords), SearchFlags = MFSearchFlags.MFSearchFlagNone, ExpandUI = false }; var oExpression = new Expression(); oExpression.DataStatusValueType = MFStatusType.MFStatusTypeDeleted; oExpression.DataStatusValueDataFunction = MFDataFunction.MFDataFunctionNoOp; var oTypedValue = new TypedValue(); oTypedValue.SetValue(MFDataType.MFDatatypeBoolean, false); var oDeletedEx = new SearchConditionEx(); oDeletedEx.SearchCondition.Set(oExpression, MFConditionType.MFConditionTypeEqual, oTypedValue); oDeletedEx.Enabled = true; oDeletedEx.Ignored = false; oDeletedEx.SpecialNULL = false; oSc.AdditionalConditions.Add(-1, oDeletedEx); SearchConditions baseConditions = null; if (onlyDoc) { baseConditions = new SearchConditions(); var objTypeSc = MFSearchConditionUtils.ObjType((int)MFBuiltInObjectType.MFBuiltInObjectTypeDocument); baseConditions.Add(-1, objTypeSc); } var oViewNew1 = vault.ViewOperations.AddTemporarySearchView(oViewNew, oSc, baseConditions); return(vault.ViewOperations.GetViewLocationInClient(oViewNew1.ID)); }
//public static async Task<string> SearchView(Vault vault, string search) //{ // var viewName = "搜索:" + search + " - "+DateTime.Now.ToString("yyyyMMddHHmmss"); // var oViewNew = new View { Name = viewName }; // var oSc = new SearchCriteria // { // FullTextSearchString = search, // FullTextSearchFlags = (MFFullTextSearchFlags.MFFullTextSearchFlagsStemming // | MFFullTextSearchFlags.MFFullTextSearchFlagsLookInMetaData // | MFFullTextSearchFlags.MFFullTextSearchFlagsLookInFileData // | MFFullTextSearchFlags.MFFullTextSearchFlagsTypeAnyWords), // SearchFlags = MFSearchFlags.MFSearchFlagNone, // ExpandUI = false // }; // var oExpression = new Expression(); // oExpression.DataStatusValueType = MFStatusType.MFStatusTypeDeleted; // oExpression.DataStatusValueDataFunction = MFDataFunction.MFDataFunctionNoOp; // var oTypedValue = new TypedValue(); // oTypedValue.SetValue(MFDataType.MFDatatypeBoolean, false); // var oDeletedEx = new SearchConditionEx(); // oDeletedEx.SearchCondition.Set(oExpression, MFConditionType.MFConditionTypeEqual, oTypedValue); // oDeletedEx.Enabled = true; // oDeletedEx.Ignored = false; // oDeletedEx.SpecialNULL = false; // oSc.AdditionalConditions.Add(-1, oDeletedEx); // var oViewNew1 = // await Task.Run(() => vault.ViewOperations.AddTemporarySearchView(oViewNew, oSc)).ConfigureAwait(false); // return await Task.Run(() => vault.ViewOperations.GetViewLocationInClient(oViewNew1.ID)).ConfigureAwait(false); //} internal static SearchConditionEx GetDelStatusSearchEx(bool deleted) { var delExp = new Expression(); delExp.DataStatusValueType = MFStatusType.MFStatusTypeDeleted; delExp.DataStatusValueDataFunction = MFDataFunction.MFDataFunctionNoOp; var delTv = new TypedValue(); delTv.SetValue(MFDataType.MFDatatypeBoolean, deleted); var delSearchEx = new SearchConditionEx(); delSearchEx.SearchCondition.Set(delExp, MFConditionType.MFConditionTypeEqual, delTv); delSearchEx.Enabled = true; delSearchEx.Ignored = false; delSearchEx.SpecialNULL = false; return(delSearchEx); }