Interface IObjectEntityBase
Any LemonEdge entity interface that inherits this, means it is acquires all the functionality of an Object Entity which can belong as part of a IEntitySetBase or as entities that can be allocated to in IAllocationRule
See https://help.lemonedge.com/companies/ for more info
Inherited Members
Namespace: LemonEdge.API.Entities.FinancialServices.LegalEntity
Assembly: LemonEdge.API.Entities.FinancialServices.dll
Syntax
[IsBaseInterface]
[EntityIndex(Name = "BaseName", ColumnNames = new string[] { "Name" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
[EntityIndex(Name = "BaseCode", ColumnNames = new string[] { "Code" }, IndexOrder = new IndexOrder[] { IndexOrder.Ascending }, IsClustered = false, IsUnique = false)]
public interface IObjectEntityBase : IBaseEntityWithPermissions, IHasFolderStructure, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties
Properties
AllowRuleAllocations
Indicates if this object entity can be allocated to in Allocation Rules. If it can then it can belong as part of an Entity Structure within an Entity Set. Typically if an object entity can be part of an Allocation Rule, it will also have a GL.
Declaration
[EntityProperty(SQLType.Bit, false)]
[EntityDescription("Indicates if this object entity can be allocated to in Allocation Rules. If it can then it can belong as part of an Entity Structure within an Entity Set. Typically if an object entity can be part of an Allocation Rule, it will also have a GL.")]
bool AllowRuleAllocations { get; set; }
Property Value
Type | Description |
---|---|
bool |
CanBeCounterparty
Indicates if this object entity can act as a counterparty to transactions in the system
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates if this object entity can act as a counterparty to transactions in the system")]
bool CanBeCounterparty { get; set; }
Property Value
Type | Description |
---|---|
bool |
CanOwnInstruments
Indicates if this object entity can own financial instruments
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates if this object entity can own financial instruments")]
bool CanOwnInstruments { get; set; }
Property Value
Type | Description |
---|---|
bool |
Code
The unique code of this entity.
Part of the key for this entity
Declaration
[EntityProperty(SQLType.NVarChar, 150, false)]
[EntityKeyProperty]
[EntityDescription("The unique code of this entity.")]
[Unique(MergeWithAnyOtherUniqueProperties = true)]
[Required]
[DBTrackChanges]
string Code { get; set; }
Property Value
Type | Description |
---|---|
string |
CurrencyID
Links to ICurrency. The currency this object entity operates in.
When used in a transaction this would be the functional currency for the transaction
Declaration
[EntityProperty(SQLType.UniqueIdentifier, false)]
[EntityRelationship(EntityID.Currency, "ID", SingleJoinType.One, "Currency", "Entities", DeleteWithRelationship = true, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
[RequiredNoDefaultIDValidation]
[EntityDescription("The currency this object entity operates in. When used in a transaction this would be the functional currency for the transaction")]
[DBTrackChanges]
[PropertyValidation("Item.HasTrackedPropertyChanged(nameof(LemonEdge.API.Entities.FinancialServices.LegalEntity.IObjectEntity.CurrencyID)) && MyData.HasChange(Item) && MyData.GetChange(Item) != LemonEdge.API.Core.Data.EntityOperation.Insert", "(await Data.ExecuteQuery(Data.GetItems<LemonEdge.API.Entities.FinancialServices.Accounting.IGLPosting>().Where(nameof(LemonEdge.API.Entities.FinancialServices.Accounting.IGLPosting.EntityID), LemonEdge.Utils.Database.SQLOperator.Equals, Item.ID))).Count() == 0", "You can not change the currency of an entity if it has existing gl postings against it. You have to delete those first.")]
Guid CurrencyID { get; set; }
Property Value
Type | Description |
---|---|
Guid |
ExchangeRateCategoryOverrideID
Links to IExchangeRateCategory. The overridden exchange rate to use for processing transactions in this entity set.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.ExchangeRateCategory, "ID", SingleJoinType.ZeroToOne, "Exchange Rate Category", "Default For Entity Sets", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
[EntityDescription("The overridden exchange rate to use for processing transactions in this entity set.")]
Guid? ExchangeRateCategoryOverrideID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
HasGL
Indicates if this object entity has a GL. If it does then it can have Transactions booked against it, and will have Period Closing functionality.
Declaration
[EntityProperty(SQLType.Bit, false)]
[EntityDescription("Indicates if this entity can be the source of financial transactions.")]
bool HasGL { get; set; }
Property Value
Type | Description |
---|---|
bool |
LegalName
The legal name of this object entity
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityDescription("The legal name of this entity.")]
[DBTrackChanges]
string LegalName { get; set; }
Property Value
Type | Description |
---|---|
string |
Name
The unique name of this entity.
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityDescription("The unique name of this entity.")]
[Required]
[DBTrackChanges]
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
ReportingCurrencyOverrideID
Links to ICurrency. The reporting overridden currency this object entity operates in.
When used in a transaction this would be the functional currency for the transaction
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.Currency, "ID", SingleJoinType.ZeroToOne, "Currency", "Entities", DeleteWithRelationship = true, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
[EntityDescription("The reporting overridden currency this object entity operates in. When used in a transaction this would be the functional currency for the transaction")]
[DBTrackChanges]
[PropertyValidation("Item.HasTrackedPropertyChanged(nameof(LemonEdge.API.Entities.FinancialServices.LegalEntity.IObjectEntity.ReportingCurrencyOverrideID)) && MyData.HasChange(Item) && MyData.GetChange(Item) != LemonEdge.API.Core.Data.EntityOperation.Insert", "(await Data.ExecuteQuery(Data.GetItems<LemonEdge.API.Entities.FinancialServices.Accounting.IGLPosting>().Where(nameof(LemonEdge.API.Entities.FinancialServices.Accounting.IGLPosting.EntityID), LemonEdge.Utils.Database.SQLOperator.Equals, Item.ID))).Count() == 0", "You can not change the reporting currency of an entity if it has existing gl postings against it. You have to delete those first.")]
Guid? ReportingCurrencyOverrideID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
TypeID
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.ObjectEntityType, "ID", SingleJoinType.ZeroToOne, "Type", "Object Entities", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
[EntityDescription("The type this object entity belongs to.")]
Guid? TypeID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
YearEnd
When processing GLPostings retained earnings calculations the calculations are done on a year to date basis. This Year End is used to determine the last Year End closing balances, and which transactions to look at going forward that participate within the current year. Only the month/day component is used the year depends on the context.
Declaration
[EntityProperty(SQLType.DateTimeOffset, true, IsDate = true)]
[EntityDescription("When processing GLPostings retained earnings calculations the calculations are done on a year to date basis. This Year End is used to determine the last Year End closing balances, and which transactions to look at going forward that participate within the current year. Only the month/day component is used the year depends on the context")]
DateTimeOffset? YearEnd { get; set; }
Property Value
Type | Description |
---|---|
DateTimeOffset? |