Custom Entity View

Custom Entities allow you to create objects with fields in your system [more info]. They belong to our class of Auto-Code Designers that enable you to accelerate your development on the LemonEdge platform. As with all our auto-code designers you can configure the system using the designer or allow it to provide you with the full code for your design that you can then tailor to your desire, compile and add-in to the system. 

Custom Entity Properties

Every Custom Entity has the following properties:

NameDescriptionRequiredKey
NameThe unique name for this Custom ObjectYY
Collection NameThe unique name for a collection of these items. Usually just the plural of the Name.YN
Table NameThis is the name of the table that will actually be created in the database.
All LemonEdge tables start with the prefix LT_
YN
Load Dynamically *This indicates the system will dynamically load your Custom Entity into the system immediately. 
The alternative is the designer can provide you the actual code for this entity. You can incorporate that code in your own DLL and add that as an Add-In to the platform itself using our Add-In Modules.
YN
Is Standing DataThis simply indicates the client will automatically load all this data when the application opens. This can speed up the client for data that is frequently referenced.NN
Is InheritableThis indicates the entity is a base class entity and has other entities that inherit from this one.NN
Is Root Of Entity SetThis indicates the object is the root item in a related set of entities.
The system can automatically provide xml import/export packages for the data and it's children if this is known.
NN
Has PermissionsThis indicates if your entity has it's own permissions that can be defined by the user. If not it should inherit permissions through a relationship to another entity, if it doesn't the data will have no permissions and can be modified by any user.YN
Inherits TypeIndicates that this entity inherits the properties of a base entity.
For instance when creating objects that are tied to the transaction engine they need to inherit the entity 'Instrument'.
NN
Extends TypeThis indicates the entity has properties that extend a related type. 
This is different from inheritance as it isn't an instance of the same object and can have it's own permissions and so forth. However enabling this means you have a quick way of adding new fields to existing entities throughout the system.
NN
DescriptionA user friendly description for this entityNN
ID +Accessible through a menu command, this provides a mechanism to indicate this entity is the same entity throughout different LemonEdge installations to keep designs in synchronization.NN

* Load Dynamically: If you set an entity as Load Dynamically=true then the system will automatically apply any changes you make to the database upon any saved changes. This means the database will be upgraded when you make changes to this entity and could result in the system being unresponsive while it completes this task (It will be run as a task to be picked up by the task services and processed). If you set this to False, you can continue to make changes until you are happy and can then set this to True. Alternatively you can use our Auto-Code Designers to design the schema of your data and export the design into code. You can use that code in your own dll and load that into the platform in our AddIn Modules - this way you need never set Load Dynamically = true.

+ ID: If you are using Load Dynamically = true, the system uses an internal ID to uniquely identify that entity. If you are deploying this custom entity among different LemonEdge installations you will need to make sure they have the same ID. To do so, you can use this property to make sure they are always in sync. If you are using code this is not necessary as the ID is a constant in the code that will always be the same across systems the code is installed on.

Commands

A custom object has the standard set of commands and functions when being viewed from a grid. See our standard grid functionality.

As well as our standard export/import capabilities, Custom Entities can be exported and imported as packaged xml files to transfer configuration across systems. This is another area where you will want a shared Unique ID for your custom entity if the same databases are referenced from one web service. Again this is available from the grid commands.

When opened the custom entity view has the following custom commands:

  • View Code [see more]:
    This command will export the code for this Custom Entity to a c# file of your choosing. The code will contain the interface definition for your custom entity and it's associated LemonEdge attributes, as well as the actual class implementation of your custom entity.
  •  Alter Icon:
    This enables you to specify a custom icon to be used by default throughout the system when referring to your custom entity (In buttons, views, tabs, etc).
    See our guide on Custom Images for further information.
  •  Update ID:
    This enables you to specify a unique ID that would be shared across different systems that use the same Custom Entity configuration (You can Export/Import these configurations across different systems). This ensures the system doesn't see two different implementations of the same custom entity.