Custom Entities

Custom Entities allow you to create objects with fields in your system. 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 Features

Any object created by this designer is a real object in the system - not user data. This means your custom objects have no performance penalty, seamlessly integrate into reporting, and every other part of the system, and have no other restrictions - just like all other items in the LemonEdge system such as Users/Roles/Transactions/etc. As such it automatically benefits from all the following features:

Automation

  • The system automatically takes care of the back end for you, including;
    • Creates the actual database tables to hold your objects data.
      • Also automatically updates your table with any changes you make
      • Adds indexes where you specify
      • Maintains relationships
      • Creates all the required functions for accessing/manipulating your data in a human readable format
      • Creates associated support tables as required. i.e. history tables, permissions tables, etc.
    • Creates the database context to ensure you can query, create, update and delete your data through our API.
    • Updates the web service rest/odata api to contain appropriate calls for your new object

Context

  • The object is instantly integrated into the API allowing you to
    • Query the data anyway you like through our simple interface which works transparently over a web service or directly connected to the database
      • Includes joining the data in queries related to other objects
    • Create, update and delete data in your object through our simple interface in isolated transactions
    • Easily create algorithms against your objects, and others, that can be run locally from LemonEdge and offloaded to dedicated task servers if required.
    • Create grids, views, buttons and layouts within the UI all interacting with your designed object and instantly working across our multi-platform clients.

Platform Benefits

  • The object automatically is enhanced through our Triple Lock of functionality including, but not limited to:
    • Open Architecture: 
      • The object can adhere to our permission system, or automatically inherit permissions from a parent relationship.
      • The object is automatically integrated into all our reporting tools ensuring you can access all of the fields including auditing history, permissions and relationships.
    • Enterprise Data Tools:
      • Using our data integration tools you can import data your object, and you can utilize our data mappers to import from different data sources too.
      • Workflow items can be configured in a drag+drop manner against your object including, but not limited to:
        • Tasks
        • Tags
        • Comments
        • Documents
        • Watchers
      • Your object is immediately included in any canvases users create. So your data benefits from modelling, scenario analysis and more.
    • Financial Services:
      • Our financial transaction engine can be hooked into your object if it is a type of instrument that financial transactions would be recorded against.
  • UI
    • The object can have grids, buttons and views easily created for it using our designers, code or a hybrid of both.
    • You can create custom layouts for the object for different roles/etc by dragging and dropping your custom views, reports, charts, workflow views, and any other views around to design a screen.
    • All of this works seamlessly for the end user across our Windows, Console and Web front ends.

Saving

Whenever you save changes to a custom entity the system prompts you if you want to commit your changes to the database.

If you do commit the changes the system will start a background task that means the database will be upgraded and will 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). 


Views

Custom Entities can be edited using the following views:


Auto-Code

As with any Auto-Code designer, you can always export your configuration using this designer into actual c# code that you can use directly with our platform. See here for an example with custom entities.