Interface IAddIn
The system entity for addins
See https://help.lemonedge.com/help/api/code/addin-modules/addins-view.html for more information
Inherited Members
Namespace: LemonEdge.API.Entities.Design
Assembly: LemonEdge.API.dll
Syntax
[EntityDefinition(EntityID.AddIns, "dbo.LT_AddIns", "AddIn", LabelColumn = "Name", IsStandingDataEntity = true)]
[DefaultEntityIcon(ImageType.AddIn)]
[MultipleUnique(new string[] { "Name", "AddInModuleID" })]
[EntityIndex(Name = "AddIns", ColumnNames = new string[] { "AddInModuleID" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
public interface IAddIn : IShareAcrossAccounts, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties
Properties
Active
Indicates whether or not this AddIn is active and should be loaded by the LemonEdge platform. Inactive AddIns are ignored.
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this dll is active and will be loaded into all runtimes of the applciation (all clients, service, tasks) unless specific UI selections are made.")]
bool Active { get; set; }
Property Value
Type | Description |
---|---|
bool |
AddInData
Holds the actuall raw .net custom dll. If null then the addin is asssumed to come from NuGet repositories.
Declaration
[EntityProperty(SQLType.VarBinary, true)]
[EntityDescription("Holds the actual raw .net custom dll.")]
byte[] AddInData { get; set; }
Property Value
Type | Description |
---|---|
byte[] |
AddInModuleID
Links to IAddInModule. The parent module this add in belongs to
Declaration
[EntityProperty(SQLType.UniqueIdentifier, false)]
[EntityRelationship(EntityID.AddInModules, "ID", SingleJoinType.One, "Add In Module", "Add Ins", DeleteWithRelationship = true, PartOfParentSet = true, LinkToItemInSet = true, InheritPermissions = true)]
[RequiredNoDefaultIDValidation]
Guid AddInModuleID { get; set; }
Property Value
Type | Description |
---|---|
Guid |
BaseHelpURL
A custom base url for help on this addin. Overrides the settings at the module level
Declaration
[EntityProperty(SQLType.NVarChar, 500, true)]
string BaseHelpURL { get; set; }
Property Value
Type | Description |
---|---|
string |
Description
A user friendly description of this add in
Declaration
[EntityProperty(SQLType.NVarChar, 2000, true)]
[EntityDescription("A user friendly description of this AddIns function.")]
string Description { get; set; }
Property Value
Type | Description |
---|---|
string |
IsConsoleOnlyUI
Indicates this contains UI code that can only be shown by the console application and thus will only be loaded by that client application. If you create a custom view you will need to create that custom view for all client applications that will need to access it.
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this dll has view components for the .net core console, and will *only* be loaded in that client app.")]
[PropertyValidation("MyItem.IsConsoleOnlyUI == true", "MyItem.IsWPFOnlyUI == false && MyItem.IsXamarinOnlyUI == false && MyItem.IsCore == false", "Console UI can only be marked as true if WPF and Xamarin are false.")]
bool IsConsoleOnlyUI { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsCore
Indicates this dll is core and should be loaded in all services/clients/etc as it contains entity class definitions, processes and core functionality.
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this dll is core and should be loaded in all services/clients/etc as it contains entity class definitions, processes and core functionality.")]
[PropertyValidation("MyItem.IsCore == true", "MyItem.IsWPFOnlyUI == false && MyItem.IsXamarinOnlyUI == false && MyItem.IsConsoleOnlyUI == false", "Is Core can only be marked as true if WPF and Xamarin UI are false.")]
bool IsCore { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsCoreUI
Indicates this dll has core UI implementations and should be loaded in all clients applications (android/ios/console/windows/etc).
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this dll has core UI implementations and should be loaded in all clients applications (android/ios/console/windows/etc).")]
[PropertyValidation("MyItem.IsCoreUI == true", "MyItem.IsCore == false", "Is Core UI can only be marked as true if IsCore is set to false. Core UI dlls can not be loaded into services/etc.")]
[PropertyValidation("MyItem.IsCoreUI == true", "MyItem.IsWPFOnlyUI == false && MyItem.IsXamarinOnlyUI == false && MyItem.IsConsoleOnlyUI == false", "Is Core UI can only be marked as true if individual UI's are false. Is Core UI indicates they will be loaded into all clients (xamarin/console/wpf) regardless.")]
bool IsCoreUI { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsFromNuget
Indicates whether or not this AddIn is fetched from Nuget Package Manager.
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this dll is fetched from Nuget Package Manager or not.")]
bool IsFromNuget { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsWPFOnlyUI
Indicates this contains UI code that can only be shown by the WPF Windows only application and thus will only be loaded by that client application. If you create a custom view you will need to create that custom view for all client applications that will need to access it.
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this dll has view components for the WPF client, and will *only* be loaded in that client app.")]
[PropertyValidation("MyItem.IsWPFOnlyUI == true", "MyItem.IsXamarinOnlyUI == false && MyItem.IsConsoleOnlyUI == false && MyItem.IsCore == false", "WPF UI can only be marked as true if Xamarin, Console and IsCore are false.")]
bool IsWPFOnlyUI { get; set; }
Property Value
Type | Description |
---|---|
bool |
IsXamarinOnlyUI
Indicates this contains UI code that can only be shown by the mobile xamarin application and thus will only be loaded by that client application. If you create a custom view you will need to create that custom view for all client applications that will need to access it.
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this dll has view components for the xamarin client, and will *only* be loaded in that mobile (iOS/Androind/Windows UWP) app.")]
[PropertyValidation("MyItem.IsXamarinOnlyUI == true", "MyItem.IsWPFOnlyUI == false && MyItem.IsConsoleOnlyUI == false && MyItem.IsCore == false", "Xamarin UI can only be marked as true if WPF, Console and IsCore are false.")]
bool IsXamarinOnlyUI { get; set; }
Property Value
Type | Description |
---|---|
bool |
Name
The unique friendly name of this add in
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityKeyProperty]
[EntityDescription("The unique name of this AddIn.")]
[Required]
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
Sequence
The sequence this AddIn is loaded in to the system relative to other addin within this AddIn Module.
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Holds the order of this AddIn within the module, that it is loaded in the system, so dependent AddIns can be loaded first.")]
[EntitySequence]
short Sequence { get; set; }
Property Value
Type | Description |
---|---|
short |