· Kindly check below code, I need to filter work list items by "processesInstanceId" unfortunately I can't find a direct way so I managed with below code , its tested and worked perfectly but we’re afraid of highlighted part [do you have better ideas?]
#region ... Prepare filter criteria ...
SourceCode.Workflow.Management.Criteria.WorklistCriteriaFilter wlCriteriaFilter = new SourceCode.Workflow.Management.Criteria.WorklistCriteriaFilter();
wlCriteriaFilter.REGULAR_FILTER(SourceCode.Workflow.Management.WorklistFields.Folio, SourceCode.Workflow.Management.Criteria.Comparison.Equals, folio, SourceCode.Workflow.Management.Criteria.RegularFilter.FilterCondition.AND);
SourceCode.Workflow.Management.Criteria.RegularFilter filter = new SourceCode.Workflow.Management.Criteria.RegularFilter();
filter.ColumnName = "[WLH].[ProcInstID]";///... to check it then assure this by K2 People. filter.Comparison = SourceCode.Workflow.Management.Criteria.Comparison.Equals; filter.DbType = System.Data.DbType.Int32; filter.ParameterName = String.Format("@{0}{1}", CSPDParam, 0); filter.ParameterValue = procInstId; //filter.TableName = "_WorklistSlot";
wlCriteriaFilter.AddRegularFilter(filter);
#endregion
SourceCode.Workflow.Management.WorklistItems items = workflowServer.GetWorklistItems(wlCriteriaFilter);
|
and we tried to filter the metadata of an activity using below filter:
.........................................................................................................................................
filter.ColumnName = ".[MetaData]
filter.Comparison = SourceCode.Workflow.Management.Criteria.Comparison.Equals;
filter.DbType = System.Data.DbType.String;
filter.ParameterName = String.Format("@{0}{1}", CSPDParam, 1);
filter.ParameterValue = “P_payment”;
wlCriteriaFilter.AddRegularFilter(filter);
.........................................................................................................................................
unfortunately using equality as -SourceCode.Workflow.Management.Criteria.Comparison- gives the folowing exception “ The data types ntext and nvarchar are incompatible in the equal to operator.” but using "SourceCode.Workflow.Management.Criteria.Comparison.Like" worked perfectly.