Click or drag to resize

UnresolvedFilterExpression Properties

The UnresolvedFilterExpression type exposes the following members.

Properties
  NameDescription
Public propertyExpressionState
A filter expression can be in one of three states: - Unresolved: We don't know for sure that the property/field exists, the operator may be invalid and the filter value may be of a wrong data type. - Validated: Property/field has been validated and the operator has been validated according to the property/field. The filter value data type has been validated according to the property/field. - Converted: Same as Validated. Additionally the filter value can't contain Guid ids.
Public propertyFilterValue
If the ExpressionState is UNRESOLVED then the data type one of the following: > string, int, DateTime, IEnumerable<int>, IEnumerable<Guid>, bool or Guid

If the ExpressionState is VALIDATED then the data type is ensured to be valid corresponding to the following table: > Value property - Text : { string } Value property - Integer : { int } Value property - DateTime : { DateTime } Value property - Boolean : { bool } Set property : { int, IEnumerable<int>, Guid, IEnumerable<Guid> } Reference property : { int, IEnumerable<int>, Guid, IEnumerable<Guid> } DateTime fixed field : { DateTime } Integer fixed field : { int, IEnumerable<int> } Id-reference fixed field : { int, IEnumerable<int>, Guid, IEnumerable<Guid> } String fixed field : { string } Boolean fixed field : { bool } Enum fixed field : { int, IEnumerable<int> }

If the ExpressionState is CONVERTED then the data type is ensured to be valid corresponding to the following table: > Value property - Text : { string } Value property - Integer : { int } Value property - DateTime : { DateTime } Value property - Boolean : { bool } Set property : { int, IEnumerable<int> } Reference property : { int, IEnumerable<int> } DateTime fixed field : { DateTime } Integer fixed field : { int, IEnumerable<int> } Id-reference fixed field : { int, IEnumerable<int> } String fixed field : { string } Boolean fixed field : { bool } Enum fixed field : { int, IEnumerable<int> }

Public propertyIsResolved
Has the expression been resolved/validated? If so we know that: - the operator is legal to be used on the expression property - the filter value has a legal data type for comparing with a value for the expression property
Public propertyIsResolvedExpressionForDataObjectReferenceField
Is expression resolved and for either a reference property or a dataobject-referencing fixed field?
Public propertyIsResolvedExpressionForProperty
Has the expression been resolved/validated and is the "left side" a property? (and not a fixed field)
Public propertyOperator
Expression inner operator
Public propertyPath
Reference path that expresses the data objects that the filter expression must filter on. If a path is stated then reference property value(s) must exist that meet the requirements of the path and left/operator/right expression in order to evaluate to true. Can be null - in which case the expression is evaluated directly on the object to which it is applied.

If a path is stated then the evaluator finds the result of the path using the object (which the expression is evaluated against) as starting point. It then evaluates the left/operator/right expression on the result of the path expression. For example, if we're applying an expression on resource assignment data objects, and we only want those where the assigned resource belongs to a specific system, we could add the following expression: Path: /ROLEREF/SYSTEMREF Property: ID Operator: Equals FilterValue: { id of a specific system }

Public propertyProperty
System name of the property or FixedField being filtered on. Case-insensitive. The following fixed fields are supported: CreateTime, CreatedBy, ChangeTime, ChangedBy, Number, Type, UserName, Id, ActivityState, ProcessState, Template, Inactive, DisplayName
Public propertyPropertyType
Can only be accessed if IsResolvedExpressionForProperty is true.
Top
Explicit Interface Implementations
  NameDescription
Explicit interface implementationPrivate propertyIUnresolvedFilterExpressionFilterValue
Comparison value. Can be null.
Explicit interface implementationPrivate propertyIUnresolvedFilterExpressionOperator
Operator applied in the filter expression. The set of legal operators depends on "Property".
Explicit interface implementationPrivate propertyIUnresolvedFilterExpressionPath
Reference path that expresses the data objects that the filter expression must filter on. If a reference path is stated then reference property value(s) must exist that meet the requirements of the path and left/operator/right expression. Can be null - in which case the filter expression filters directly on the data objects that are being loaded.

The path is applied to the data objects that are being loaded. For example, if we're loading resource assignment data objects, and we only want those where the assigned resource belongs to a specific system, we could add the following expression: Path: /ROLEREF/SYSTEMREF Property: ID Operator: Equals FilterValue: { id of a specific system }

Explicit interface implementationPrivate propertyIUnresolvedFilterExpressionProperty
System name of the property being filtered on. Case-insensitive. Can also denote the fixed field "Type". An unresolved expression for "Type" is, however, not resolved into a filter expression. Instead it is resolved and assigned to DataObjectFilter.TypeIds .
Top
See Also