Search Results for

    Show / Hide Table of Contents

    Namespace LemonEdge.API.Descriptors

    Classes

    ColumnDescriptor

    This holds the definition of a column (including its SQL definition) against an entity.

    This is defined against an entity interface on the property using the EntityPropertyAttribute

    ComplexTypeDescriptor

    Holds the description of any interface marked with the ComplexDefinitionAttribute attribute

    This holds the interface and class types for the complex type along with a label and default image

    This should not be confused with an EntityDescriptor which holds the definition for an actual entity that is stored in the database. ComplexTypes are used for reporting data only

    CorePropEntityImportColDefinition

    Indicates this is a standard property import column definiion for core properties ( IsBasePropertyName(string)) against an entity in the system

    DataSourceEntityImportColDefinition

    Indicates this is a data source entity import column definition.

    Each entity has a collection of these corresponding to each IDataSourceType in the system

    EntityDescriptor

    This is the main entity descriptor class that contains all the information about a given entity.

    The system automatically creates these entitydescriptors for all entities in the system dynamically from their EntityDefinitionAttribute and associated attributes

    EntityDescriptorExtensions

    EntityDescriptorFactory

    The main factory for creating and providing EntityDescriptor and ComplexTypeDescriptor for all items in the system including those defined by custom objects and addins

    This automatically reloads whenever changes to custom objects or addins are detected within the system

    EntityDescriptorFactoryExtensions

    EntityDescriptorFactoryOptions

    EntityDescriptorTemplate

    All EntityDescriptors have a template for describing the columns that can be used for importing/exporting data automatically for the entity

    The system automatically takes care of this for you from the properties, keys and relationships defined against your entity

    However you can override this behaviour to provide custom properties and actions using EntityDescriptorTemplateExtender and IEntityDescriptorImportExtender

    The template is responsible for providing a list of all columns (EntityImportColDefinition) that can be used for importing/exporting

    EntityDescriptorTemplateExtender

    This is the main class for extending the behaviour of the default system EntityDescriptorTemplate automatically created for all entities

    This allows you to override the default behaviour to add custom actions to be processed during imports, or to create a custom function, instead of the table data, to return custom fields which can be specified here instead of the actual entity properties.

    This is used by API.Entities.ITransaction to create custom columns for every defined API.Entities.ITransactionTypeValue

    By implementing this class for any custom type, the system will use this instead of the default template for importing/exporting and querying

    EntityImportActionColDefinition

    Indicates this entity import column definition is for a custom action and does not represent actual data for this entity held in the system

    The custom process to run when this column is imported can be implemented through EntityDescriptorTemplateExtender

    Typically the valid set of custom actions is held by an enum, and so the user can see that in templates can be set with SetDefaultValueToEnumOptions<T>()

    EntityImportColDefinition

    This is the base class that defines a property against an entity that can be imported/exported

    This commonly holds the property information of the same property on the entity, and for relationship properties will have child definitions holding the key properties to uniquely identify that entity relationship

    They can also contain custom properties that do not exist on the entity if you are providing custom sql instead of the table for the entity. That can be done via EntityDescriptorTemplateExtender

    EntityLinkProperty

    Indicates this property is a property that holds the SetName of an entity type link column (IsEntityTypeLink)

    This is used in conjunction with a property that holds an id of a relationship to an entity that can be any parent entity (EntityLinkToAnyParentRelationshipAttribute)

    This property holds the set name to the entity type that the link is to. The link global unique id of the entity itself is the parent property of this one

    EntityRelationship

    Holds the definition of a relationship between two entities and their associated properties

    Normally defined through one of the PropRelationshipAttribute inherited attributes

    ExtendedEntityImportColDefinition

    Indicates this is an extended entity import column definition.

    Each extended import column comes from an entity descriptor that is marked as extending the original entity descriptor

    ObseleteEntityDescriptor

    Whenever an entity is no longer used in the system this class can be inherited to provide details about it so that it can be removed from the database

    If you just remove an entity then the system may be unable to upgrade the database if other entities are referred to by the now deleted entity. Database constraints may prevent them being upgraded.

    By providing the details for this old entity the system can automatically update all elements of the database and remove the old entity

    PivotPropImportColDefinition

    An entity import column definition for properties that are pivot header columns of a sub table entity

    PropEntityImportColDefinition

    The standard import column defintion for a property against an entity in the system

    This property can be a real property in the database or not and managed by the sql

    Interfaces

    IEntityDescriptorFactory

    IEntityDescriptorFactoryLoader

    TODO: previously internal

    IEntityDescriptorImportExtender

    Represents a class that can be used for assisting with importing data into a specified entity type

    By default the system automatically handles importing an entity through the property names and values from a data source (such as a file) through our data integration and mapping tools.

    However you can extend this behaviour to be able to import from other property names that are not actually properties on the entity, or even to perform custom actions

    IEntityDescriptorTemplate

    Enums

    EntityImportColumnAction

    The list of allowed values that are parsed when importing data from the ImportActionPropertyName column

    If this value does not parse exactly to any of these enum values it is assumed to take the value None and the row will not be imported

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