Interface IEntitySetBase
Any LemonEdge entity interface that inherits this, means it is acquires all the functionality of an EntitySet
See https://help.lemonedge.com/company-structures/ 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)]
public interface IEntitySetBase : IBaseEntityWithPermissions, IHasFolderStructure, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties
Properties
CSERoundingDecimalPlaces
Any CSE rounding applied throughout this EntitySet can use this rounding decimal places as default.
0 is the default to indicate no rounding, max is 12 decimal places of rounding
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Any CSE rounding applied throughout this EntitySet can use this rounding decimal places as default, instruments have their own unit rounding decimal places.")]
[PropertyValidation("true", "MyItem.CSERoundingDecimalPlaces >= 0 && MyItem.CSERoundingDecimalPlaces <= 12", "CSERoundingDecimalPlaces must have a number of decimal places to round to between 0 and 12 inclusive.")]
short CSERoundingDecimalPlaces { get; set; }
Property Value
Type | Description |
---|---|
short |
CurrencyID
Links to ICurrency. Any Transactions booked against legal Entities within this Entity Set will use this currency as the Reporting Currency of those Transactions. This provides a common currency across all Transactions within the Entity Set that can be used for consolidated reporting.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, false)]
[EntityRelationship(EntityID.Currency, "ID", SingleJoinType.One, "Currency", "Entity Sets", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
[RequiredNoDefaultIDValidation]
[EntityDescription("Any Transactions booked against legal Entities within this Entity Set will use this currency as the Reporting Currency of those Transactions. This provides a common currency across all Transactions within the Entity Set that can be used for consolidated reporting.")]
[DBTrackChanges]
[PropertyValidation("Item.HasTrackedPropertyChanged(nameof(LemonEdge.API.Entities.FinancialServices.LegalEntity.IEntitySet.CurrencyID)) && MyData.HasChange(Item) && MyData.GetChange(Item) != LemonEdge.API.Core.Data.EntityOperation.Insert", "\r\nvar entities = await Data.ExecuteQuery(Data.GetItems<LemonEdge.API.Entities.FinancialServices.LegalEntity.ISetEntity>().Where(nameof(LemonEdge.API.Entities.FinancialServices.LegalEntity.ISetEntity.EntitySetID), LemonEdge.Utils.Database.SQLOperator.Equals, Item.ID));\r\nforeach(var items in entities.Chunk(20))\r\n{\r\n var cnt =(await Data.ExecuteQuery(Data.GetItems<LemonEdge.API.Entities.FinancialServices.Accounting.IGLPosting>().Where(nameof(LemonEdge.API.Entities.FinancialServices.Accounting.IGLPosting.EntityID), LemonEdge.Utils.Database.SQLOperator.IsContainedIn, items.Select(x => x.EntityID).ToArray()))).Count();\r\n if (cnt > 0) return false;\r\n}\r\nreturn true;\r\n", "You can not change the currency of an entity set if it has existing gl postings against it. You have to delete those first.")]
Guid CurrencyID { get; set; }
Property Value
Type | Description |
---|---|
Guid |
ExchangeRateCategoryID
Links to IExchangeRateCategory. The default 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 default exchange rate to use for processing transactions in this entity set.")]
Guid? ExchangeRateCategoryID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
Name
The unique name of this entity set
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityKeyProperty]
[EntityDescription("The name of this entity set.")]
[Required]
[Unique(MergeWithAnyOtherUniqueProperties = true)]
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
PeriodEndTransformationID
Links to IPeriodEndTransformation. The default period end transformation to use for processing period ends in this entity set.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, true)]
[EntityRelationship(EntityID.PeriodEndTransformation, "ID", SingleJoinType.ZeroToOne, "Period End Transformation", "Default For Entity Sets", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
[EntityDescription("The default period end transformation to use for processing period ends in this entity set.")]
Guid? PeriodEndTransformationID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
RoundingLevel
Any rounding applied throughout this EntitySet can use this rounding level as default.
Declaration
[EntityProperty(SQLType.SmallInt, false, "3")]
[EntityDescription("Any rounding applied throughout this EntitySet can use this rounding level as default.")]
RoundingLevel RoundingLevel { get; set; }
Property Value
Type | Description |
---|---|
RoundingLevel |
UnitRoundingDecimalPlaces
Any unit rounding applied throughout this EntitySet can use this rounding decimal places as default, instruments have their own unit rounding decimal places.
0 is the default to indicate no rounding, max is 12 decimal places of rounding
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Any unit rounding applied throughout this EntitySet can use this rounding decimal places as default, instruments have their own unit rounding decimal places.")]
[PropertyValidation("true", "MyItem.UnitRoundingDecimalPlaces >= 0 && MyItem.UnitRoundingDecimalPlaces <= 12", "UnitRoundingDecimalPlaces must have a number of decimal places to round to between 0 and 12 inclusive.")]
short UnitRoundingDecimalPlaces { get; set; }
Property Value
Type | Description |
---|---|
short |
YearEnd
When processing Period End 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.
Declaration
[EntityProperty(SQLType.DateTimeOffset, false, IsDate = true)]
[EntityDescription("When processing Period End 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..")]
[HardCodedDefaultValueOnNew("2020-12-31")]
DateTimeOffset YearEnd { get; set; }
Property Value
Type | Description |
---|---|
DateTimeOffset |