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://help.lemonedge.com/help/enterprise-data-tools/reporting/sql-wrappers/columns.html and https://help.lemonedge.com/help/enterprise-data-tools/reporting/sql-wrappers/parameters.html for more information
Inherited Members
Namespace: LemonEdge.API.Entities.Reporting
Assembly: LemonEdge.API.dll
Syntax
[EntityDefinition(EntityID.SQLTypeWrapper, "dbo.LT_SQLTypeWrappers", "SQLTypeWrapper", LabelColumn = "Name", IsStandingDataEntity = true)]
[DefaultEntityIcon(ImageType.DataTableColumn)]
[EntityIndex(Name = "SQLWrapper", ColumnNames = new string[] { "SQLWrapperID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "QueryRunner", ColumnNames = new string[] { "QueryRunnerID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "Code", ColumnNames = new string[] { "CodeSnippetID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "Report", ColumnNames = new string[] { "ReportID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "APIQuery", ColumnNames = new string[] { "ApiQueryID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "Venn", ColumnNames = new string[] { "VennSetID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "DataSet", ColumnNames = new string[] { "DataSetID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "DataSetShrotcut", ColumnNames = new string[] { "DataSetShortcutID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
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 |
AllowMultiSelect
If this parameter is an id of an entity (uniqueidentifier type with an entity type and entity property) then this indicates the user should be able to select multiple items instead of just one.
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("If this parameter is an id of an entity (uniqueidentifier type with an entity type and entity property) then this indicates the user should be able to select multiple items instead of just one. ")]
bool AllowMultiSelect { get; set; }
Property Value
Type | Description |
---|---|
bool |
ApiQueryID
[Key] Links to IAPIQuery. The parent entity this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[EntityRelationship(EntityID.ApiQuery, "ID", SingleJoinType.ZeroToOne, "ApiQuery", "Parameters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? ApiQueryID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
CanEditFromIDLink
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.SQLTypeWrapper, "ID", SingleJoinType.ZeroToOne, "Edit ID Link", "Editable SQL Type Wrappers", DeleteWithRelationship = true, PartOfParentSet = false, LinkToItemInSet = true, InheritPermissions = false)]
[EntityDescription("If true, indicates this field can be edited by virtue of the id field holding which object (and type) is actually being edited.")]
Guid? CanEditFromIDLink { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
CodeSnippetID
[Key] Links to ICodeSnippet. The parent snippet this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[EntityRelationship(EntityID.CodeSnippet, "ID", SingleJoinType.ZeroToOne, "Code Snippet", "Parameters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? CodeSnippetID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
ColumnUserFriendlyLabel
The user friendly heading of this column.
Declaration
[EntityProperty(SQLType.NVarChar, true)]
[EntityDescription("The user friendly heading of this column. Can use {@param}, and {@param,format} to reference parameters.")]
string ColumnUserFriendlyLabel { get; set; }
Property Value
Type | Description |
---|---|
string |
DataSetID
[Key] Links to IDataset. The Data set item this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[EntityRelationship(EntityID.Dataset, "ID", SingleJoinType.ZeroToOne, "Data Set", "Columns", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? DataSetID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
DataSetQueryableItemID
[Key] Links to IDataSetQueryableItem. The Data set queryable item this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[EntityRelationship(EntityID.DatasetQueryableItem, "ID", SingleJoinType.ZeroToOne, "Data Set Queryable Item", "Columns", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? DataSetQueryableItemID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
DataSetShortcutID
[Key] Links to IDatasetShortcut. The Data set shortcut this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[EntityRelationship(EntityID.DatasetShortcut, "ID", SingleJoinType.ZeroToOne, "Data Set Shortcut", "Parameters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? DataSetShortcutID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
Description
A user friendly description of this column
Declaration
[EntityProperty(SQLType.NVarChar, 2000, true)]
[EntityDescription("A user friendly description of this sql type.")]
string Description { get; set; }
Property Value
Type | Description |
---|---|
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, 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 |
---|---|
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 |
---|---|
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, 500, true)]
[EntityDescription("The enum type with the valid values for this column.")]
string EnumPropertyType { get; set; }
Property Value
Type | Description |
---|---|
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 |
---|---|
bool |
Format
Applies any custom formatting you want to the result when displayed in a grid.
Declaration
[EntityProperty(SQLType.NVarChar, 20, true)]
[EntityDescription("Format to apply when displaying the results in a grid.")]
string Format { get; set; }
Property Value
Type | Description |
---|---|
string |
FrameworkType
The .net framework equivelant type of this sql type.
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityDescription("The .net framework equivelant type of this sql type.")]
string FrameworkType { get; set; }
Property Value
Type | Description |
---|---|
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 |
GridDefaultWidth
The default width for the column when displayed in a grid. Left blank the system default is used, otherwise the specified amount is used.
Declaration
[EntityProperty(SQLType.SmallInt, true, FriendlyLabel = "Default Width")]
[EntityDescription("The default width for the column when displayed in a grid. Left blank the system default is used, otherwise the specified amount is used.")]
short? GridDefaultWidth { get; set; }
Property Value
Type | Description |
---|---|
short? |
GridFreezeUpTo
Indicates when these results are displayed in a grid the columns should 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 should be frozen up to this one.")]
bool GridFreezeUpTo { get; set; }
Property Value
Type | Description |
---|---|
bool |
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 |
---|---|
bool |
GridGroupHeader
The group header to use when displaying these results in a grid.
Declaration
[EntityProperty(SQLType.NVarChar, 50, true, FriendlyLabel = "Group Header")]
[EntityDescription("The group header to use when displaying these results in a grid. Can use {@param}, and {@param,format} to reference parameters.")]
string GridGroupHeader { get; set; }
Property Value
Type | Description |
---|---|
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 |
---|---|
bool |
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 |
---|---|
bool |
GridSubGroupHeader
The sub group header to use when displaying these results in a grid.
Declaration
[EntityProperty(SQLType.NVarChar, 50, true, FriendlyLabel = "Sub Group Header")]
[EntityDescription("The sub group header to use when displaying these results in a grid. Can use {@param}, and {@param,format} to reference parameters.")]
string GridSubGroupHeader { get; set; }
Property Value
Type | Description |
---|---|
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 |
---|---|
bool |
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(1)]
short Index { get; set; }
Property Value
Type | Description |
---|---|
short |
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 |
---|---|
bool |
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 |
---|---|
short? |
Name
[Key] The name of this column. This is the name used as column headers in csv exports.
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityKeyProperty]
[EntityDescription("The unique name of this sql type.")]
[Required]
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
ParamCustomLookupQueryID
[Key] Links to ICustomLookupQuery. The custom lookup query to use for selecting this parameter
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.CustomLookupQuery, "ID", SingleJoinType.ZeroToOne, "Custom Lookup Query", "Parameters", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = true, InheritPermissions = false)]
[EntityDescription("The custom lookup query to use for selecting this parameter.")]
Guid? ParamCustomLookupQueryID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
ParameterDefaultValue
If this type is a parameter, this indicates a constant default value to provide as the value.
Declaration
[EntityProperty(SQLType.NVarChar, 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 |
---|---|
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 |
---|---|
string |
ParameterName
If this type is a parameter, this holds the name of the variable, must include @.
Declaration
[EntityProperty(SQLType.NVarChar, 500, true, FriendlyLabel = "Param Name")]
[EntityDescription("If this type is a parameter, this holds the name of the variable, must include @.")]
[FileSafeNameValidation(AllowNulls = true, AllowParamAtSign = true)]
string ParameterName { get; set; }
Property Value
Type | Description |
---|---|
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 |
---|---|
bool |
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 |
---|---|
short? |
PostProcessCalculation
Custom code to run as part of a post process when evaluating this column
Declaration
[EntityProperty(SQLType.NVarChar, true)]
[EntityDescription("Custom code to run as part of a post process when evaluating this column")]
string PostProcessCalculation { get; set; }
Property Value
Type | Description |
---|---|
string |
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 |
---|---|
short? |
QueryRunnerID
[Key] Links to IQueryRunner. The parent query runner this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[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 |
---|---|
Guid? |
ReportID
[Key] Links to IReport. The parent report this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[EntityRelationship(EntityID.Report, "ID", SingleJoinType.ZeroToOne, "Report", "Parameters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? ReportID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
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)]
[EntityKeyProperty]
[EntityRelationship(EntityID.SQLWrapper, "ID", SingleJoinType.ZeroToOne, "SQL Wrapper", "Columns/Parameters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? SQLWrapperID { get; set; }
Property Value
Type | Description |
---|---|
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 |
---|---|
short? |
SortOrder
Can only be used in queries with a Top/Skip setting. Results are otherwise always unordered and are only ordered by the callee.
Declaration
[EntityProperty(SQLType.SmallInt, false, "0", FriendlyLabel = "Order")]
[EntityDescription("Can only be used in queries with a Top/Skip setting. Results are otherwise always unordered and are only ordered by the callee.")]
Order SortOrder { get; set; }
Property Value
Type | Description |
---|---|
Order |
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.")]
[EntityKeyProperty]
SQLTypeWrapperType Type { get; set; }
Property Value
Type | Description |
---|---|
SQLTypeWrapperType |
VennSetID
[Key] Links to IVennset. The Venn set item this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[EntityRelationship(EntityID.VennSet, "ID", SingleJoinType.ZeroToOne, "Venn Set", "Columns/Parameters", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = false, InheritPermissions = true)]
Guid? VennSetID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
VennSetQueryableItemID
[Key] Links to IVennSetQueryableItem. The Venn set queryable item this belongs to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityKeyProperty]
[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 |
---|---|
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 |
---|---|
bool |