Interface IGrouping
The system entity for groupings
Inherited Members
Namespace: LemonEdge.API.Entities.Data
Assembly: LemonEdge.API.dll
Syntax
[EntityDefinition(EntityID.Grouping, "dbo.LT_Groupings", "Grouping", LabelColumn = "Name", IsStandingDataEntity = false)]
[DefaultEntityIcon(ImageType.Grouping)]
[EntityIndex(Name = "GroupingType", ColumnNames = new string[] { "HasGroupingTypeID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "GroupingParent", ColumnNames = new string[] { "ParentID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IncludeColumns = new string[] { "Operator", "Name", "Sequence", "ID" }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "GroupingRelated", ColumnNames = new string[] { "RelatedItemID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "Name", ColumnNames = new string[] { "Name", "UserID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending, IndexOrder.Ascending }, IncludeColumns = new string[] { "SafeID", "Version", "ParentID", "AlgorithmStepID" }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "User", ColumnNames = new string[] { "UserID", "Name" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending, IndexOrder.Ascending }, IncludeColumns = new string[] { "SafeID", "Version", "ParentID", "AlgorithmStepID" }, IsClustered = false, IsUnique = false)]
public interface IGrouping : IBaseEntityWithPermissions, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties, IUserSpecific, ISetCopier, IHasVersion
Properties
Description
The description for the items in this grouping.
Declaration
[EntityProperty(SQLType.NVarChar, true)]
[EntityDescription("The description for the items in this grouping.")]
string Description { get; set; }
Property Value
Type | Description |
---|---|
string |
HasGroupingTypeID
Any entity with a grouping can link to this grouping as its single grouping parent if the type matches
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true, IsEntityTypeLink = true)]
[EntityDescription("Any entity with a grouping can link to this grouping as its single grouping parent if the type matches.")]
Guid? HasGroupingTypeID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
ItemReportingCombination
The method in which reports can combine grouping items
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("The method in which reports can combine grouping items.")]
GroupingItemReportingCombination ItemReportingCombination { get; set; }
Property Value
Type | Description |
---|---|
GroupingItemReportingCombination |
Name
The name of the grouping
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityDescription("The name of the grouping.")]
[Required]
[EntityKeyProperty]
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
Operator
An operator to use for aggregating grouped items in query tools
Declaration
[EntityProperty(SQLType.SmallInt, false, "1")]
[Required]
[HardCodedDefaultValueOnNew("1")]
[EntityDescription("An operator to use for aggregating grouped items in query tools")]
MathOperator Operator { get; set; }
Property Value
Type | Description |
---|---|
MathOperator |
ParentID
Links to IGrouping. Holds the parent grouping this is a child of if part of a heirarchical filter
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntitySelfRelationship("ID", SingleJoinType.ZeroToOne, "IGrouping", "Groupings", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = false, PreventAutoConstraint = true)]
Guid? ParentID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
RelatedItemID
The globally unique id of the entity (of type ItemTypeID) that is related within this grouping
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityDescription("The globally unique id of the entity (ItemTypeID) that is related within this grouping.")]
[EntityLinkToAnyParentRelationship("RelatedItemTypeID", SingleJoinType.One, "Related Groupings", false, new Type[] { typeof(IVennSetQueryableItem), typeof(ISQLTypeWrapper), typeof(IDatasetQueryableItem) }, OnlyWithLabels = true)]
Guid? RelatedItemID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
RelatedItemTypeID
The type of related item
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true, IsEntityTypeLink = true)]
[EntityDescription("The type of related item.")]
Guid? RelatedItemTypeID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
Sequence
[Key] Holds the order of this grouping within the whole the parent grouping
This field is hidden in the grid, but you can show it using our standard grid commands. You can easily change it using the Move Up/Down commands too.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Holds the order of this grouping within the whole the parent grouping.")]
[EntitySequence]
[EntityKeyProperty]
short Sequence { get; set; }
Property Value
Type | Description |
---|---|
short |