Search Results for

    Show / Hide Table of Contents

    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
    IBaseEntity.GetLabel(string)
    IBaseEntity.SetLabel(string, string)
    IBaseEntity.SetSilentLabel(string, string)
    IBaseEntity.AccountID
    IBaseEntity.ID
    IBaseEntity.LastUpdated
    IBaseEntity.ModifiedByUserID
    IBaseEntity.CanvasID
    IBaseEntity.AlgorithmStepID
    IBaseEntity.SafeID
    IEquatable<IBaseEntity>.Equals(IBaseEntity)
    INotifyPropertyChanged.PropertyChanged
    INotifyPropertyChanging.PropertyChanging
    ICloneableAsync.Clone(object)
    ICloneableAsync.CopyFromSource(object)
    ICanTrackProperties.HasTrackedPropertyChanged(string)
    ICanTrackProperties.OriginalTrackedPropertyValue(string)
    ICanTrackProperties.OriginalTrackedPropertyValue<T>(string)
    ICanTrackProperties.ClearTrackedOriginalValues()
    ICanTrackProperties.GetAllOriginalTrackedPropertyValues()
    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

    Extension Methods

    LinqExtensions.AsArray<T>(T)
    LinqExtensions.ToArrayOfOne<T>(T)
    LinqExtensions.ToListOfOne<T>(T)
    MiscExtensions.SetIfNotEqual<T, TP>(T, Expression<Func<T, TP>>, TP)
    WeakReferenceExtensions.WeakReference(object)
    SQLExtensions.ToSQLValue(object, bool)
    ReflectionExtensions.ClearEventInvocations(object, string)
    StringExtensions.ToCSVFormatString(object, Type)

    See Also

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