//sample: filtered list method for the Workflow General/Process Instance SmartObject static void ExecuteFilteredListMethodWCF() { Console.WriteLine("Executing filtered List method via WCF (Active instances only)"); //set up the service client WorkflowGeneralReport_WCFService.Process_InstanceSvcClient processInstanceSvcClient = new Process_InstanceSvcClient(); processInstanceSvcClient.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation; //set up a filter object (you could also constrcut the filter directly in XML if you prefer) Equals statusEquals = new Equals(); PropertyExpression statusPropertyExp = new PropertyExpression("Status", PropertyType.Text); ValueExpression statusValueExp = new ValueExpression("Active", PropertyType.Text); statusEquals.Left = statusPropertyExp; statusEquals.Right = statusValueExp; // Serialize the filter to XML FilterExp filterExpression = new FilterExp(statusEquals); XmlDocument filterXml = filterExpression.GetFilterXml(); string filterXmlString = filterXml.InnerXml; //call the filter method, passing in the filter XML WorkflowGeneralReport_WCFService.Process_Instance[] processInstanceList = processInstanceSvcClient.Process_InstanceSvc_List_Filtered(filterXmlString); foreach (Process_Instance processInstance in processInstanceList) { Console.WriteLine("Folio: " + processInstance.Folio + " | ProcInstID: " + processInstance.ProcessInstanceID.ToString()); } Console.WriteLine("Completed execution of filtered List method via WCF (Active instances only)"); Console.ReadLine(); }
protected virtual Delegate Visit(FilterExp filterExp, Type newRootType) { var paramname = filterExp.fieldExp.BaseToken.Source; context.Set(newRootType, paramname); rootParam.Push(Expression.Parameter(newRootType, paramname)); var filter = Visit(filterExp.body); context.Get(); rootParam.Pop(); return(filter.Compile()); }
private void ConvertFilters(Report report) { foreach (var condition in Base.Wheres.Select().RowCast <GIWhere>() .Where(c => c.IsActive == true && !String.IsNullOrEmpty(c.DataFieldName) && !String.IsNullOrEmpty(c.Condition))) { var reportCondition = new FilterExp(ReplaceParameters(NormalizeFieldName(condition.DataFieldName)), GetFilterCondition(condition.Condition)) { OpenBraces = condition.OpenBrackets?.Trim()?.Length ?? 0, CloseBraces = condition.CloseBrackets?.Trim()?.Length ?? 0, Operator = String.Equals(condition.Operation?.Trim(), "O", StringComparison.OrdinalIgnoreCase) ? FilterOperator.Or : FilterOperator.And, Value = ReplaceParameters(condition.Value1), Value2 = ReplaceParameters(condition.Value2) }; report.Filters.Add(reportCondition); } }
protected virtual void Visit(FilterExp filterExp) { Visit(filterExp.body); }
public URMFilter(FilterExp filter) : base(filter) { this.filter = new Dictionary<string, string>(); }
public URMFilter(FilterExp filter) : base(filter) { this.filter = new Dictionary <string, string>(); }