Namespace LemonEdge.API.Attributes
Classes
ComplexDefinitionAttribute
Can be marked against an interface to indicate this is a complex type used by LemonEdge and can be used in queries and the web service
DBTrackChangesAttribute
Indicates this property will be tracked, indicating if the value was changed, and what the original value was.
This is available in validations, but only in code executing directly against the database - services, or clients with direct db connections.
DefaultEntityIcon
Specifies the default icon for the system to use whenever displaying this entity in menus, or other ui appropriate contexts
This can be the id of a system image (ImageType) or a custom image (ImageID)
DefaultValueOnNewAttribute
Indicates this property has a default value that should be initialized whenever a new instance of this item is created
This can be a hard coded value, or a formula that is evaluated at run time
EntityAutoIncrementColumnAttribute
Indicates this property is an integer value that holds a value that should auto-increment by the system only, and is not editable by the user
When a new instance is created this will hold 0, only when the new item is saved the system will transactionally auto-increment its value from the last value.
It will not be changed again by the system, and will not allow user changes either
EntityColor
The default color to use when displaying this entity in entity structure mappings
EntityDefinition
The main attribute for LemonEdge indicating this interface holds a definition of an entity that should be managed by LemonEdge.
This must be marked against an interface, the system will find the associated entity class implementation, or will create one dynamically if one does not exist
The system will automatically handle the back-end work for this entity such as creating database tables, functions/stored procedures, web service controllers, etc
If you changes the TableName, ItemName, or SetName then you need to create a EntityDefintionOldInfo with the old values so the system knows what to rename in the database
Any entity marked with this will have an EntityDescriptor created for it by the system during runtime that holds the description of everything to do with this entity.
This includes the InterfaceType and EntityType that can be used for interacting with the data held by this type
EntityDefintionOldInfo
This marks entities with old tablenames, itemnames or setnames.
These are used to create functions and the table in the database. If they are changed in the EntityDefinition attribute, then the old values need to be added to htis attribute so the system knows what to rename
EntityDescription
Provides a user friendly description of the property or field
This description is provided as a tooltip throughout the UI where appropriate
EntityHasPivotAttribute
Indicates this entity contains information held in a sub table that can be pivotted and displayed against this record too.
This will ensure exports, and imports will allow reference to the pivotted values against this entity record too
EntityIncludeInIndex
Appends the specified columns as ones which should be included in the specified index.
For instance you can add columns to include in the core indexes such as the ASOF or CANVAS indexes
EntityIndex
Specifies an index to be created on the table for this entity
EntityKeyProperty
Specifies that this property forms part of the key properties for this entity
Multiple properties can be marked with this attribute to indicate their combination forms the unique key for this entity
Keys are used for importing/exporting and other methods of referring to this entity. The system still holds a globally unique id for each entity regardless - see ID
EntityLinkToAnyParentRelationship
Indicates this property holds a relationship link to an id of any entity in the system. There should also be another property holding the type of entity the id links to marked with IsEntityTypeLink
A relationship to the id of a specific entity is marked with EntityRelationship
EntityLinkToAnyParentRelationshipModifier
Modifies a EntityLinkToAnyParentRelationship relationship with properties specific to the relationship to this entity
EntityProperty
Defines how this property hsould be handled when maintained as a column in sql server
EntityRelationship
Indicates this property holds a relationship that points to another entity in the system
EntitySelfRelationship
Indicates this is a relationship that references the same entity
EntitySequenceAttribute
Indicates this property holds the sequence order of the item within the set of items in the collection.
This is automatically used by the UI in grids to have move up/down buttons and take care of updating all properties as items are moved through a sequence
FormulaDefaultValueOnNewAttribute
Indicates this property has a formula that when evaluated provides a default value that should be initialized whenever a new instance of this item is created
HardCodedDefaultValueOnNewAttribute
Indicates this property has a hard coded default value that should be initialized whenever a new instance of this item is created
PivotTableInfo
Holds information about entities that hold pivot information for other entities
PropRelationship
The base attribute used for marking that a given property holds a relationship to another entity in the system
Includes attributes about the relationship such as cascade delete options and others
ReplicatedEntityRelationship
If this is a descriptor marked to be replicated for each descriptor (UseForReplicatingDescriptorType), then this relationship indicates this property holds a link to the entity type being replicated.
For example the permissions class uses this to say the EntityID property holds a relationshipt to the descriptor it is replicated from.
UpdateOnTransfer
Indicates when this entity is involved in a transfer operation that the system should automatically update the value of this property for the new transferred records
Enums
EntityID
All system entities in LemonEdge have a hardcoded unique global ID that corrosponds to this enum.
The short enum value is translated to a guid using ToShortGuid<T>(T)
Wherever a EntityID is used by LemonEdge, you can also use an actual unique global Guid value. When creating entities in your own code you can keep the IDs as global Guid values for reference
IndexOrder
The order a column should be sorted in for an index
TransferUpdateType
The type of operation to perform on a property for the new records involved in a transfer process