Interface IInstrumentBase
Any LemonEdge entity interface that inherits this, means it is acquires all the functionality of an Instrument
See https://help.lemonedge.com/instruments/ for more info
Inherited Members
Namespace: LemonEdge.API.Entities.FinancialServices.Products
Assembly: LemonEdge.API.Entities.FinancialServices.dll
Syntax
[IsBaseInterface]
public interface IInstrumentBase : IBaseEntityWithPermissions, IBaseEntity, IEquatable<IBaseEntity>, INotifyPropertyChanged, INotifyPropertyChanging, ICloneableAsync, ICanTrackProperties
Properties
AllowUnmapped
This indicates that this Instrument itself does not need to be automatically mapped to an Allocation Path within the Entity Set. This could be because al the Transactions are being booked with the Allocations already specified, or a Path already selected, or that they are to be excluded from calculations or consolidated reporting.
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("This indicates that this Instrument itself does not need to be automatically mapped to an Allocation Path within the Entity Set. This could be because al the Transactions are being booked with the Allocations already specified, or a Path already selected, or that they are to be excluded from calculations or consolidated reporting.")]
[Required]
bool AllowUnmapped { get; set; }
Property Value
Type | Description |
---|---|
bool |
CSERoundingDecimalPlaces
Any CSE rounding applied throughout this instrument has this number of decimal places.
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Any CSE rounding applied throughout this instrument has this number of 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 IUser. Any Transaction operating against this instrument will use this Currency as the Local Currency of the Transaction itself. This currency will be translated into the Functional and Reporting currencies as entered.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, false)]
[EntityRelationship(EntityID.Currency, "ID", SingleJoinType.One, "Currency", "Instruments", DeleteWithRelationship = true, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
[RequiredNoDefaultIDValidation]
[EntityDescription("Any Transaction operating against this instrument will use this Currency as the Local Currency of the Transaction itself. This currency will be translated into the Functional and Reporting currencies as entered.")]
[DBTrackChanges]
[PropertyValidation("Item.HasTrackedPropertyChanged(nameof(LemonEdge.API.Entities.FinancialServices.Products.IInstrument.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.InstrumentID), LemonEdge.Utils.Database.SQLOperator.Equals, Item.ID))).Count() == 0", "You can not change the currency of an instrument if it has existing gl postings against it. You have to delete those first.")]
Guid CurrencyID { get; set; }
Property Value
Type | Description |
---|---|
Guid |
Name
The unique name of this instrument.
Part of the key for this instrument
Declaration
[EntityProperty(SQLType.NVarChar, 500, false)]
[EntityKeyProperty]
[EntityDescription("The unique name of this instrument.")]
[Unique(MergeWithAnyOtherUniqueProperties = true)]
[Required]
string Name { get; set; }
Property Value
Type | Description |
---|---|
string |
OwningEntityID
Links to IObjectEntity. This is the legal Entity within the Entity Set that owns this financial Instrument. It is this Entity that any Transactions against this instrument will be booked to.
Declaration
[EntityProperty(SQLType.UniqueIdentifier, false)]
[EntityKeyProperty]
[Unique(MergeWithAnyOtherUniqueProperties = true)]
[EntityRelationship(EntityID.ObjectEntity, "ID", SingleJoinType.One, "Owning Entity", "Instruments Owned", DeleteWithRelationship = false, PartOfParentSet = false, LinkToItemInSet = false, InheritPermissions = false)]
[RequiredNoDefaultIDValidation]
[EntityDescription("This is the legal Entity within the Entity Set that owns this financial Instrument. It is this Entity that any Transactions against this instrument will be booked to.")]
Guid OwningEntityID { get; set; }
Property Value
Type | Description |
---|---|
Guid |
UnitRoundingDecimalPlaces
Any unit rounding applied throughout this instrument has this number of decimal places.
Declaration
[EntityProperty(SQLType.SmallInt, false, "0")]
[EntityDescription("Any unit rounding applied throughout this instrument has this number of 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 |
Unitized
Indicates this instrument can have transactions that are specifically only for unitized or non-unitized instruments
Declaration
[EntityProperty(SQLType.Bit, false, "0")]
[EntityDescription("Indicates this instrument can have transactions that are specifically only for unitized or non-unitized instruments.")]
[Required]
bool Unitized { get; set; }
Property Value
Type | Description |
---|---|
bool |