Search Results for

    Show / Hide Table of Contents

    Namespace LemonEdge.API.Entities

    Classes

    BaseEntity

    The base class that every system implementation of IBaseEntity inherits from

    BaseEntityCloneContext

    The context that is used with SetItemInfo and ICloneableAsync copying items

    BaseEntityWithPermissions

    Every entity that requires its own permissions must implement IBaseEntityWithPermissions

    You don't have to inherit from this class necessarily, you can implement your own base class

    This does contain some static helper functions for working with permissions

    EntityCreator

    EntityKeyComparer

    Implements the IEqualityComparer<T> for all IBaseEntity. Compares on type, canvas and ID

    EntityKeyComparer<T>

    Implements the IEqualityComparer<T> for a specific type T that implements IBaseEntity. Compares on canvas and ID

    IsBaseInterfaceAttribute

    If an interface implements the base common properties of a base entity, it needs to be marked with this attribute.

    See IObjectEntityBase for an example. This interface is used by all entities inheriting an Object Entity, and by the base Object Entity itself.

    Thus IObjectEntityBase is marked with this attribute to identify it as the interface that inheriting entities (see ICompany for an example), do not need to actually implement in the back-end. Those values come from the base entity itself.

    QueryWhereFilterHelper

    Interfaces

    IBaseEntity

    This is the base interface all entities within LemonEdge must implement.

    All the properties on this base interface are implemented by *every* entity in LemonEdge, and thus exist as columns for every table in the database

    IBaseEntityWithPermissions

    Any entity that needs its own permissions needs to inherits from this interface rather than IBaseEntity

    This ensures the system creates appropriate permissions table for this entity, and that individual records can be assigned permissions

    If an entity does not inherit from this then it should inherit permissions from another entity through a relationship (InheritPermissions). If it does not then the entity will effectively have full permissions for every user as it will have no permissions, inherited or otherwise.

    IBaseEntityWithPermissionsUser

    Any entity that needs its own permissions needs to inherits from this interface rather than IBaseEntity

    This ensures the system creates appropriate permissions table for this entity, and that individual records can be assigned permissions

    If an entity does not inherit from this then it should inherit permissions from another entity through a relationship (InheritPermissions). If it does not then the entity will effectively have full permissions for every user as it will have no permissions, inherited or otherwise.

    ICanBeLocked

    Indicates this entity can be locked. The system enforces locked items in the core and ensures they can not be modified when they are marked as locked.

    For example, transactions use this to lock them when they are finalized or cancelled

    IEntityCreator

    A helper class for working with new entities in the LemonEdge system

    This ensures all configured processes, settings and workflow are applied to all new items when they are created either by a user or the system itself

    IHasSaveProcessingTask

    Indicates this entity when saved can create an associated task to finish processing the save.

    This task is created during the save by a processor implementing IBaseDataSetProcessorWithDBSave

    See Processors.Transactional.BaseTransactionProcessor for more info

    This is used by a client to notice that although the save is complete, a task has been automatically created for processing the rest of this task, and it can track that task for final completion. When the task is completing one of the steps is to set this back to null.

    IShareAcrossAccounts

    Indicates this entity is one that can be shared across multi-tenanted accounts in the same database.

    This is used for configuration such as addins IAddInModule, and custom objects ICustomObject.

    Only the root account (ID=1) can edit items that are shared items across acounts

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