Interface ISQLTypeWrapper
The system entity for a sql type wrapper, which indicates the parameters and columns of the parent sql wrapper it belongs to
See https://web.lemonedge.com/help/sql-wrapper-columns/ and https://web.lemonedge.com/help/sql-wrapper-parameters/ for more information
Inherited Members
Namespace: LemonEdge.API.Entities
Assembly: API.dll
Syntax
[EntityDefinition(EntityID.SQLTypeWrapper, "dbo.LT_SQLTypeWrappers", "SQLTypeWrapper", LabelColumn = "Name", IsStandingDataEntity = true)]
[DefaultEntityIcon(ImageType.DataTableColumn)]
[EntityLinkToAnyParentRelationshipModifier(EntityID.Transaction, "ParentItemID", "ID", ExcludeFromRelationship = true)]
[EntityLinkToAnyParentRelationshipModifier(EntityID.DataSourceIDs, "EntityID", "ID", ExcludeFromRelationship = true)]
public interface ISQLTypeWrapper : IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties
Properties
Aggregate
The aggregate function to use against this data, all non-aggregated columns will be grouped by aggregated ones.
Declaration
[EntityProperty(SQLType.SmallInt, false, "0", FriendlyLabel = "Aggregate")]
[EntityDescription("The aggregate function to use against this data, all non-aggregated columns will be grouped by aggregated ones.")]
AggregateFunction Aggregate { get; set; }
Property Value
Type | Description |
---|---|
AggregateFunction |
ColumnUserFriendlyLabel
The user friendly heading of this column.
Declaration
[EntityProperty(SQLType.NVarChar, true)]
[EntityDescription("The user friendly heading of this column.")]
string ColumnUserFriendlyLabel { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Description
A user friendly description of this column
Declaration
[EntityProperty(SQLType.NVarChar, (short)2000, true)]
[EntityDescription("A user friendly description of this sql type.")]
string Description { get; set; }
Property Value
Type | Description |
---|---|
System.String |
EntityPropertyName
If this type wraps a system property, this indicates the property of the type of entity the type wraps.
Declaration
[EntityProperty(SQLType.NVarChar, (short)100, true)]
[EntityDescription("If this type wraps a system property, this indicates the property of the type of entity the type wraps.")]
string EntityPropertyName { get; set; }
Property Value
Type | Description |
---|---|
System.String |
EntityTypeID
If this type wraps a system property, this indicates the type of entity the type wraps.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true, IsEntityTypeLink = true)]
[EntityDescription("If this type wraps a system property, this indicates the type of entity the type wraps.")]
Guid? EntityTypeID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
EnumPropertyType
If this property is an enum type this holds the type of enum to be used for displaying in grids.
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, true)]
[EntityDescription("The enum type with the valid values for this column.")]
string EnumPropertyType { get; set; }
Property Value
Type | Description |
---|---|
System.String |
ExcludeFromResultSet
Indicates this column should be included in the result set. You can add columns that are only included in calculations, and not in the actual result set
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this column should be excluded from the result set. You can add columns that are only included in calculations, and not in the actual result set.")]
bool ExcludeFromResultSet { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Format
Applies any custom formatting you want to the result when displayed in a grid.
Declaration
[EntityProperty(SQLType.NVarChar, (short)20, true)]
[EntityDescription("Format to apply when displaying the results in a grid.")]
string Format { get; set; }
Property Value
Type | Description |
---|---|
System.String |
FrameworkType
The .net framework equivelant type of this sql type.
Declaration
[EntityProperty(SQLType.NVarChar, (short)200, false)]
[EntityDescription("The .net framework equivelant type of this sql type.")]
string FrameworkType { get; set; }
Property Value
Type | Description |
---|---|
System.String |
GridAggregate
The aggregate function to use when displaying these results in a grid.
Declaration
[EntityProperty(SQLType.SmallInt, false, "0", FriendlyLabel = "Footer Aggregate")]
[EntityDescription("The aggregate function to use when displaying these results in a grid.")]
AggregateFunction GridAggregate { get; set; }
Property Value
Type | Description |
---|---|
AggregateFunction |
GridFreezeUpTo
Indicates when these results are displayed in a grid the columns hsould be frozen up to this one.
Declaration
[EntityProperty(SQLType.Bit, false, "0", FriendlyLabel = "Freeze Up To")]
[EntityDescription("Indicates when these results are displayed in a grid the columns hsould be frozen up to this one.")]
bool GridFreezeUpTo { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
GridGroupBy
Indicates when these results are displayed in a grid the column should automatically be grouped.
Declaration
[EntityProperty(SQLType.Bit, false, "0", FriendlyLabel = "Group By")]
[EntityDescription("Indicates when these results are displayed in a grid the column should automatically be grouped.")]
bool GridGroupBy { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
GridGroupHeader
The group header to use when displaying these results in a grid.
Declaration
[EntityProperty(SQLType.NVarChar, (short)50, true, FriendlyLabel = "Group Header")]
[EntityDescription("The group header to use when displaying these results in a grid.")]
string GridGroupHeader { get; set; }
Property Value
Type | Description |
---|---|
System.String |
GridIsDefaultSearch
Indicates when these results are displayed in a grid this column is the one that is automatically used when searching.
Declaration
[EntityProperty(SQLType.Bit, false, "0", FriendlyLabel = "Is Default Search")]
[EntityDescription("Indicates when these results are displayed in a grid this column is the one that is automatically used when searching.")]
bool GridIsDefaultSearch { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
GridPartOfRowHeader
Indicates when these results are displayed in a grid this column forms part of the row header when scrolling through large sets of results.
Declaration
[EntityProperty(SQLType.Bit, false, "0", FriendlyLabel = "Part Of Row Header")]
[EntityDescription("Indicates when these results are displayed in a grid this column forms part of the row header when scrolling through large sets of results.")]
bool GridPartOfRowHeader { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
GridSubGroupHeader
The sub group header to use when displaying these results in a grid.
Declaration
[EntityProperty(SQLType.NVarChar, (short)50, true, FriendlyLabel = "Sub Group Header")]
[EntityDescription("The sub group header to use when displaying these results in a grid.")]
string GridSubGroupHeader { get; set; }
Property Value
Type | Description |
---|---|
System.String |
HasCustomAggregate
Indicates this column has a custom aggregate function using a ISQLFunction
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this column has a custom aggregate function using a SQLFunction.")]
bool HasCustomAggregate { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Index
The order this column will appear in the result set. This can be moved up and down using the standard grid commands.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Indicates the order this type appears in the set of types.")]
[EntitySequence]
short Index { get; set; }
Property Value
Type | Description |
---|---|
System.Int16 |
IsNullable
Indicates if this type is nullable.
Declaration
[EntityProperty(SQLType.Bit, false)]
[EntityDescription("Indicates if this type is nullable.")]
bool IsNullable { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
MaxLength
The max length to use if this column is a text type such as nvarchar. If blank it is the equivalent to nvarchar(max).
Declaration
[EntityProperty(SQLType.SmallInt, true)]
[EntityDescription("Indicates the length of this type, if the sql type is varchar or similar.")]
short? MaxLength { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int16> |
Name
[Key] The name of this column. This is the name used as column headers in csv exports.
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, false)]
[EntityDescription("The unique name of this sql type.")]
[Required]
string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
ParameterDefaultValue
If this type is a parameter, this indicates a constant default value to provide as the value.
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, true, FriendlyLabel = "Default Value")]
[EntityDescription("If this type is a parameter, this indicates a constant default value to provide as the value.")]
string ParameterDefaultValue { get; set; }
Property Value
Type | Description |
---|---|
System.String |
ParameterFormulaValue
If this type is a parameter, this indicates a formula to evaluate and use as the default value.
Declaration
[EntityProperty(SQLType.NVarChar, true, FriendlyLabel = "Formula Value")]
[EntityDescription("If this type is a parameter, this indicates a formula to evaluate and use as the default value.")]
string ParameterFormulaValue { get; set; }
Property Value
Type | Description |
---|---|
System.String |
ParameterName
If this type is a parameter, this holds the name of the variable, must include @.
Declaration
[EntityProperty(SQLType.NVarChar, (short)500, true, FriendlyLabel = "Param Name")]
[EntityDescription("If this type is a parameter, this holds the name of the variable, must include @.")]
string ParameterName { get; set; }
Property Value
Type | Description |
---|---|
System.String |
ParameterRequired
If this type is a parameter, this indicates if the parameter must have a value.
Declaration
[EntityProperty(SQLType.Bit, false, FriendlyLabel = "Required")]
[EntityDescription("If this type is a parameter, this indicates if the parameter must have a value.")]
bool ParameterRequired { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
ParentIndex
The parent index is used for columns that display labels for unique identifiers. If you have a column that holds a unique identifier key, you can set the label of that column to have a parent index of the uniqueidentifier column.
The system will then know how to display the label in the grid for the user rather than a list of uniqueidentifiers the user won't be able to recognize.
Declaration
[EntityProperty(SQLType.SmallInt, true)]
[EntityDescription("Indicates the index of the specified column is the parent column of this one, such as when holding the label value of a parent id field.")]
short? ParentIndex { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int16> |
Precision
If this is a decimal sql type this holds the precision amount as in decimal(18,2)
Declaration
[EntityProperty(SQLType.SmallInt, true)]
[EntityDescription("Indicates the precision of this type (in conjunction with scale), if the sql type is decimal or similar.")]
short? Precision { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int16> |
QueryRunnerID
[Key] Links to IQueryRunner. The parent query runner this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.QueryRunner, "ID", SingleJoinType.ZeroToOne, "Query Runner", "Parameters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? QueryRunnerID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
ReportID
[Key] Links to IReport. The parent report this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Report, "ID", SingleJoinType.ZeroToOne, "Report", "Parameters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? ReportID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
Scale
If this is a decimal sql type this holds the scale amount as in decimal(18,2)
Declaration
[EntityProperty(SQLType.SmallInt, true)]
[EntityDescription("Indicates the scale of this type (in conjunction with precision), if the sql type is decimal or similar.")]
short? Scale { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Int16> |
SQLType
Indicates the actual underlying sql type this column holds
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("The sql type of this type wrapper.")]
[HardCodedDefaultValueOnNew("22")]
SQLType SQLType { get; set; }
Property Value
Type | Description |
---|---|
SQLType |
SQLWrapperID
[Key] Links to ISQLWrapper. The parent sql wrapper this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.SQLWrapper, "ID", SingleJoinType.ZeroToOne, "ISQLTypeWrapper", "ISQLWrapper", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? SQLWrapperID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
Type
Indicates what type of data this is to wrap. i.e. parameter or return column type.
Declaration
[EntityProperty(SQLType.SmallInt, false)]
[EntityDescription("Indicates what type of data this is to wrap. i.e. parameter or return column type.")]
SQLTypeWrapperType Type { get; set; }
Property Value
Type | Description |
---|---|
SQLTypeWrapperType |
VennSetID
[Key] Links to
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.VennSet, "ID", SingleJoinType.ZeroToOne, "Venn Set Queryable Item Columns", "Columns", 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 Venn set queryable item this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.VennSetQueryableItem, "ID", SingleJoinType.ZeroToOne, "Venn Set Queryable Item", "Columns", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? VennSetQueryableItemID { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Guid> |
Visible
Indicates if this column is visible by default when the results are displayed in a grid. The user can always make the column visible if it is hidden, and will always see the column in result exports too.
Declaration
[EntityProperty(SQLType.Bit, false, "1", FriendlyLabel = "Visible")]
[EntityDescription("This indicates if the parameter/column should be visible to the user.")]
bool Visible { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |