Search Results for

    Show / Hide Table of Contents

    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
    IBaseEntity.GetLabel(string)
    IBaseEntity.SetLabel(string, string)
    IBaseEntity.SetSilentLabel(string, string)
    IBaseEntity.AccountID
    IBaseEntity.ID
    IBaseEntity.LastUpdated
    IBaseEntity.ModifiedByUserID
    IBaseEntity.CanvasID
    IBaseEntity.AlgorithmStepID
    IBaseEntity.SafeID
    IEquatable<IBaseEntity>.Equals(IBaseEntity)
    INotifyPropertyChanged.PropertyChanged
    INotifyPropertyChanging.PropertyChanging
    ICloneableAsync.Clone(object)
    ICloneableAsync.CopyFromSource(object)
    ICanTrackProperties.HasTrackedPropertyChanged(string)
    ICanTrackProperties.OriginalTrackedPropertyValue(string)
    ICanTrackProperties.OriginalTrackedPropertyValue<T>(string)
    ICanTrackProperties.ClearTrackedOriginalValues()
    ICanTrackProperties.GetAllOriginalTrackedPropertyValues()
    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

    Extension Methods

    LinqExtensions.AsArray<T>(T)
    LinqExtensions.ToArrayOfOne<T>(T)
    LinqExtensions.ToListOfOne<T>(T)
    MiscExtensions.SetIfNotEqual<T, TP>(T, Expression<Func<T, TP>>, TP)
    WeakReferenceExtensions.WeakReference(object)
    SQLExtensions.ToSQLValue(object, bool)
    ReflectionExtensions.ClearEventInvocations(object, string)
    StringExtensions.ToCSVFormatString(object, Type)

    See Also

    ISQLWrapper
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.