Interface IFilterDescriptor
The system entity for filter descriptors, which is used in IDataset filters, and other system filters
See https://web.lemonedge.com/help/dataset-where-filters/ for more information
Inherited Members
Namespace: LemonEdge.API.Entities
Assembly: API.dll
Syntax
[EntityDefinition(EntityID.FilterDescriptor, "dbo.LT_FilterDescriptors", "FilterDescriptor", LabelColumn = "Label")]
[DefaultEntityIcon(ImageType.Filter)]
[EntityLinkToAnyParentRelationshipModifier(EntityID.SQLWrapper, "OwnerEntityID", "ID", ExcludeFromRelationship = true)]
[EntityLinkToAnyParentRelationshipModifier(EntityID.Transaction, "ParentItemID", "ID", ExcludeFromRelationship = true)]
[EntityLinkToAnyParentRelationshipModifier(EntityID.DataSourceIDs, "EntityID", "ID", ExcludeFromRelationship = true)]
public interface IFilterDescriptor : IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties
Properties
BindedValue
The parameter/property to bind the propertyname to using the operator.
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, true)]
[EntityDescription("The parameter/property to bind the propertyname to using the operator.")]
string BindedValue { get; set; }
Property Value
Type | Description |
---|---|
System.String |
CompositeLogicalOperator
Indicates if this is an actual comparison filter, or a logical composite operator that has children filters. Can be:
- None: Indicates this is an actual where filter.It is logically applied to other filters according to its direct parent composite operator. If it does not have one then all top level filters use And to compare to each other.
- And:
Indicates all child where filters should have And as a logical operator applied to them.
No other properties need be set for this where filter if it has a composite operator value.
- Or:
Indicates all child where filters should have Or as a logical operator applied to them.
No other properties need be set for this where filter if it has a composite operator value.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("The logical operator if this is a composite filter.")]
FilterLogicalCompositeOperator CompositeLogicalOperator { get; set; }
Property Value
Type | Description |
---|---|
FilterLogicalCompositeOperator |
DatasetID
[Key] Links to IDataset. The parent dataset this filter belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Dataset, "ID", SingleJoinType.ZeroToOne, "IFilterDescriptor", "IDataset", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? DatasetID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
FilterFromJoin
Indicates this where filter should be applied in the actual Join of the Queryable Item instead of on the where clause for performance
Declaration
[EntityProperty(SQLType.Bit, false)]
[EntityDescription("Indicates this filter and it's children should be applied to the filter as part of a join, and not in the where clause.")]
bool FilterFromJoin { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
HardcodedValue
A hardcoded value to compare the Queryable Item Property to using the comparison Operator.
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, true)]
[EntityDescription("The value to bind the propertyname to using the operator.")]
string HardcodedValue { get; set; }
Property Value
Type | Description |
---|---|
System.String |
HardcodedValue_Label
A hardcoded value label for user evaluation of this filter.
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, true)]
[EntityDescription("A user friendly label for this hard coded value.")]
string HardcodedValue_Label { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Label
The system generated label of this filter
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, false)]
[EntityDescription("The label of this filter descriptor.")]
[Required]
string Label { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Operator
The operator of this filter action.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("The operator of this filter action.")]
[HardCodedDefaultValueOnNew("2")]
SQLOperator Operator { get; set; }
Property Value
Type | Description |
---|---|
SQLOperator |
ParentID
Lins to IFilterDescriptor. Holds the parent filter this is a child of if part of a heirarchical filter
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntitySelfRelationship("ID", SingleJoinType.ZeroToOne, "IFilterDescriptor", "Filters", DeleteWithRelationship = true, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false, PreventAutoConstraint = true)]
Guid? ParentID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
PropertyName
The property name being filtered.
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, true)]
[EntityDescription("The property name being filtered.")]
string PropertyName { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Sequence
Holds the order of this descriptor item in the set
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Holds the order of this descriptor item in the set.")]
[EntitySequence]
short Sequence { get; set; }
Property Value
Type | Description |
---|---|
System.Int16 |
VennSetID
[Key] Links to IVennSet. The parent dataset this filter belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.VennSet, "ID", SingleJoinType.ZeroToOne, "Parent Venn Set", "All Filters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? VennSetID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
VennSetQueryableItemID
[Key] Links to IVennsetQueryableItem. The parent vennset queryable item this filter belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.VennSetQueryableItem, "ID", SingleJoinType.ZeroToOne, "Parent Venn Set Queryable Item", "Filters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? VennSetQueryableItemID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
WrapBindingValueInIsNull
Indicates the Source Property of this filter should be wrapped in an IsNull clause to match the specified value if null.
Declaration
[EntityProperty(SQLType.Bit, false)]
[EntityDescription("Indicates the value bound to for this comparrison should be wrapped in an isnull guard permitting all matches if null.")]
bool WrapBindingValueInIsNull { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |