Search Results for

    Show / Hide Table of Contents

    Interface ITransactionProcessor

    The main transaction processor for handling the core financial services engine processing of transactions within the system

    See https://help.lemonedge.com/transactions/ for more information

    This processor is responsible for calculating transaction, allocations, and gl entries according to the rules of the ITransactionCode and responding to UI events
    Inherited Members
    IBaseDataSetProcessorWithDBSave.ProcessOnDBSave()
    IBaseDataSetProcessorWithDBSave.RollbackChanges()
    IBaseDataSetProcessorWithDBSave.SaveProcessed
    IBaseDataSetProcessorWithDBSave.Order
    IBaseDataSetProcessor.IsChangedItemPartOfDataSet(IBaseEntity)
    IBaseDataSetProcessor.AddToDataSetToProcess(IBaseEntity, EntityOperation)
    IBaseDataSetProcessor.Load()
    IBaseDataSetProcessor.IgnoreEvents
    IBaseDataSetProcessor.Loaded
    IProcessor.Updater
    IProcessor.Cache
    IProcessor.User
    IProcessor.Reporter
    IDisposable.Dispose()
    ILockable.CanWrite(IBaseEntity)
    ILockable.IsLocked(IBaseEntity)
    ILockable.SetLock(IBaseEntity, bool)
    ILockable.CanLock
    IProcessorSupportsBulkLoad<ITransactionProcessor>.ThreadSafeAttach(BulkProcessorLoader<ITransactionProcessor>)
    IProcessorSupportsBulkLoad<ITransactionProcessor>.HasThisLoaderAttached(BulkProcessorLoader<ITransactionProcessor>)
    IProcessorSupportsBulkLoad<ITransactionProcessor>.HasLoaderAttached()
    IProcessorSupportsBulkLoad<ITransactionProcessor>.IncludeInBulk()
    Namespace: LemonEdge.API.Entities.FinancialServices.Processors.Transactional
    Assembly: LemonEdge.API.Entities.FinancialServices.dll
    Syntax
    public interface ITransactionProcessor : IBaseDataSetProcessorWithDBSave, IBaseDataSetProcessor, IProcessor, IDisposable, ILockable, IProcessorSupportsBulkLoad<ITransactionProcessor>
    Remarks

    At its top level a transaction processor always deals with a root transaction entity.

    Header transactions are top level transactions that all point to the root transaction (a header transaction itself)

    Sub transactions are child transactions of a header transaction that contain detail at different entity levels along a path for the header transaction itself

    All transactions, whether root, header or sub, are valid and can simply aggregated and reported on however they are required

    Lastly a processor works with a root transaction, that stands alone by itself, or is part of a set with a ( ParentItemID)

    Properties

    DefaultRounding

    The default rounding level to use with a Rounder

    Declaration
    RoundingLevel DefaultRounding { get; }
    Property Value
    Type Description
    RoundingLevel

    ExchangeRateRetriever

    A retriever for acquiring the valid exchange rate for a requested from/to currency and associated date

    Declaration
    IExchangeRateRetriever ExchangeRateRetriever { get; }
    Property Value
    Type Description
    IExchangeRateRetriever

    FinancialDateCalculator

    A calculator for providing a valid financial date against an entity taking into account the IEntityPeriodClosing against it and the requested transaction date

    Declaration
    IFinancialDateCalculator FinancialDateCalculator { get; }
    Property Value
    Type Description
    IFinancialDateCalculator

    GetAllTransactions

    Returns all transaction records (the root transaction, header transactions and sub-transactions) within this processor

    Declaration
    IEnumerable<ITransaction> GetAllTransactions { get; }
    Property Value
    Type Description
    IEnumerable<ITransaction>

    HeaderTransactions

    An enumeration of all header transactions in this processor.

    Header transactions are all individually processed unless working together using a TransactionProcessorExtender

    Declaration
    IEnumerable<ITransaction> HeaderTransactions { get; }
    Property Value
    Type Description
    IEnumerable<ITransaction>

    Helper

    A helper class for dealing with transaction operations and ensuring values are updated consistently

    Declaration
    ITransactionsHelper Helper { get; }
    Property Value
    Type Description
    ITransactionsHelper

    InstrumentHelper

    Declaration
    ITransactionInstrumentEntityHelper InstrumentHelper { get; }
    Property Value
    Type Description
    ITransactionInstrumentEntityHelper

    Links

    Declaration
    List<ITransactionLink> Links { get; }
    Property Value
    Type Description
    List<ITransactionLink>

    RootTransaction

    The parent root transaction this processor is responsible for calculating.

    All other header and sub transactions pointing to this root are part of the set and will be processed by this algorithm too

    Declaration
    ITransaction RootTransaction { get; }
    Property Value
    Type Description
    ITransaction

    RootTransactionID

    Declaration
    Guid RootTransactionID { get; }
    Property Value
    Type Description
    Guid

    Services

    Gets the services demanded from the IServiceProvider for the process execution.

    Declaration
    IServiceContext Services { get; }
    Property Value
    Type Description
    IServiceContext

    Methods

    AddCodeVaue(ITransaction, Guid)

    Adds the specified transaction type value to be recorded against the specified transaction (and all its sub-transactions) itself

    Declaration
    void AddCodeVaue(ITransaction transaction, Guid tranTypeValueID)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction (and all associated sub-transactions) to add the specified transaction type value to

    Guid tranTypeValueID

    The transaction type value to add to the transaction

    ConsolidateTransfers(ITransaction)

    If you have allocations within the transaction that has transfers within them, it will net them to a single allocation with the effect of the transfer. For example, an allocation of 50 + 50 to the same investor would result in a single allocation of 100.

    Declaration
    Task ConsolidateTransfers(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    Task

    CreateGLPosting(ITransaction, ITransactionCodeGLEntry)

    Creates a gl posting record for the specified parent transaction and registers it

    Declaration
    Task<IGLPosting> CreateGLPosting(ITransaction parent, ITransactionCodeGLEntry glEntry)
    Parameters
    Type Name Description
    ITransaction parent

    The transaction that is the parent of this gl posting

    ITransactionCodeGLEntry glEntry

    The optional transaction code gl entry this gl posting is being created for. Can be null if manually being created

    Returns
    Type Description
    Task<IGLPosting>

    A gl posting record for the specified parent transaction

    CreateGLPostingAllocated(IGLPosting)

    Creates a gl posting allocation record for the specified parent gl posting and registers it

    Declaration
    Task<IGLPostingAllocated> CreateGLPostingAllocated(IGLPosting parent)
    Parameters
    Type Name Description
    IGLPosting parent

    The gl posting record that is a parent to this allocation

    Returns
    Type Description
    Task<IGLPostingAllocated>

    A gl posting allocation record for the specified parent gl posting

    CreateTransaction(ITransaction)

    Creates a sub-transaction where the ParentTransactionID is set to the specified parent and registers it

    Declaration
    Task<ITransaction> CreateTransaction(ITransaction parent)
    Parameters
    Type Name Description
    ITransaction parent

    The header transaction that is the parent of this created transaction

    Returns
    Type Description
    Task<ITransaction>

    A sub-transaction where the ParentTransactionID is set to the specified parent

    CreateTransactionAllocated(ITransaction)

    Creates a transaction allocation record for the specified parent transaction and registers it

    Declaration
    Task<ITransactionAllocated> CreateTransactionAllocated(ITransaction parent)
    Parameters
    Type Name Description
    ITransaction parent

    The transaction that is the parent of the created transaction allocation

    Returns
    Type Description
    Task<ITransactionAllocated>

    A transaction allocation record for the specified parent transaction

    DeleteGLPosting(IGLPosting, bool)

    Removes the specified gl posting from the processor, and stops listening to any changes against the record

    This cascades to all gl posting allocations

    Declaration
    Task DeleteGLPosting(IGLPosting posting, bool updateLog)
    Parameters
    Type Name Description
    IGLPosting posting

    The gl posting to remove from the processor, and all associated gl posting allocations

    bool updateLog

    Indicates if the posting should also be removed from the IEntityUpdater context and marked for deletion. If not then it will update affected net amounts for other records, otherwise it assumes the caller will take care of it as it already marked the record for deletion too.

    Returns
    Type Description
    Task

    DeleteGLPostingAllocated(IGLPostingAllocated, bool)

    Removes the specified gl posting allocation from the processor, and stops listening to any changes against the record

    Declaration
    Task DeleteGLPostingAllocated(IGLPostingAllocated allocated, bool updateLog)
    Parameters
    Type Name Description
    IGLPostingAllocated allocated

    The gl posting allocation to remove from the processor

    bool updateLog

    Indicates if the posting allocation should also be removed from the IEntityUpdater context and marked for deletion. If not then it will update affected net amounts for other records, otherwise it assumes the caller will take care of it as it already marked the record for deletion too.

    Returns
    Type Description
    Task

    DeleteTransaction(ITransaction, bool)

    Removes the specified transaction from the processor, and stops listening to any changes against the record

    This cascades to all sub-transactions, transaction allocations, gl postings, and gl posting allocations

    If this transaction is the root transaction, the processor will be empty if there are no other transactions, or it will promote the next header transaction to become root
    Declaration
    Task DeleteTransaction(ITransaction transaction, bool updateLog)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction to remove from the processor, and all associated sub-transactions

    bool updateLog

    Indicates if the transaction should also be removed from the IEntityUpdater context and marked for deletion

    Returns
    Type Description
    Task

    DeleteTransactionAllocated(ITransactionAllocated, bool)

    Removes the specified transaction allocation from the processor, and stops listening to any changes against the record

    This cascades to all gl posting allocations

    Declaration
    Task DeleteTransactionAllocated(ITransactionAllocated transaction, bool updateLog)
    Parameters
    Type Name Description
    ITransactionAllocated transaction

    The transaction allocation to remove from the processor

    bool updateLog

    Indicates if the transaction allocation should also be removed from the IEntityUpdater context and marked for deletion. If not then it will update affected net amounts for other records, otherwise it assumes the caller will take care of it as it already marked the record for deletion too.

    Returns
    Type Description
    Task

    DoesGLValuesHaveSubAccount(ITransaction)

    Declaration
    bool DoesGLValuesHaveSubAccount(ITransaction transaction)
    Parameters
    Type Name Description
    ITransaction transaction
    Returns
    Type Description
    bool

    ExecuteFormula<T>(string, IBaseEntity)

    Executes the specified formula with the specified context item

    Declaration
    Task<T> ExecuteFormula<T>(string formula, IBaseEntity contextItem)
    Parameters
    Type Name Description
    string formula

    The c# formula/script to dynamically execute

    IBaseEntity contextItem

    A context item that is provided as a FormulaFunctionsWithContext which can be referenced by the formula

    Returns
    Type Description
    Task<T>

    A task holding the result of the formula being executed

    Type Parameters
    Name Description
    T

    The type of result expected from executing the formula

    GetAllTransactionValuesAllocated(ITransaction)

    Returns all allocated transaction values against the specified owningTransaction and all its sub-transactions (obtained from GetTransactionValues(ITransaction))

    Declaration
    IEnumerable<ITransactionAllocated> GetAllTransactionValuesAllocated(ITransaction owningTransaction)
    Parameters
    Type Name Description
    ITransaction owningTransaction

    The owning header transaction to return all transaction allocations for (including those from any sub-transactions too)

    Returns
    Type Description
    IEnumerable<ITransactionAllocated>

    All allocated transaction values against the specified owningTransaction and all its sub-transactions (obtained from GetTransactionValues(ITransaction))

    GetAllocateToValues(ITransaction)

    Returns all the transaction allocation rules for creating a new transaction automatically to entities that are allocated to as part of a chain mapping

    Declaration
    IEnumerable<(ITransactionCodeAllocateToTransaction, IEnumerable<ITransactionCodeAllocateToTransactionValue>)> GetAllocateToValues(ITransaction transaction)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction to retrieve all automatica transactions for

    Returns
    Type Description
    IEnumerable<(ITransactionCodeAllocateToTransaction, IEnumerable<ITransactionCodeAllocateToTransactionValue>)>

    All the transaction allocation rules for creating a new transaction automatically to entities that are allocated to as part of a chain mapping

    GetAllocatedEntityInOtherEntitySet(ITransaction, Guid)

    If the specified allocated entity exists as an entity in another fund, this returns the id of the entity in the other fund

    Declaration
    Task<Guid?> GetAllocatedEntityInOtherEntitySet(ITransaction transaction, Guid allocatedEntityID)
    Parameters
    Type Name Description
    ITransaction transaction
    Guid allocatedEntityID
    Returns
    Type Description
    Task<Guid?>

    GetCode(ITransaction)

    Returns the actual transaction code for the specified owningTransaction

    Declaration
    ITransactionCode GetCode(ITransaction owningTransaction)
    Parameters
    Type Name Description
    ITransaction owningTransaction

    The transaction to return the associated transaction code for its TransactionCodeID

    Returns
    Type Description
    ITransactionCode

    The actual transaction code for the specified owningTransaction

    GetCodeGLEntries(ITransaction)

    Returns the transaction code gl entry settings for the specified transaction

    This indicates which gl postings should automatically be created against the transaction

    Declaration
    IEnumerable<ITransactionCodeGLEntry> GetCodeGLEntries(ITransaction transaction)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction to return the automatic gl entry settings for

    Returns
    Type Description
    IEnumerable<ITransactionCodeGLEntry>

    The transaction code gl entry settings for the specified transaction

    GetCurrencyMatches(ITransaction)

    Returns if currencies match

    Declaration
    (bool LocalFunctional, bool localReporting) GetCurrencyMatches(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    (bool LocalFunctional, bool localReporting)

    GetDecimalPlaces(ITransaction)

    Returns the decimal places for each currency in the transaction

    Declaration
    (short Local, short Functional, short Reporting) GetDecimalPlaces(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    (short Local, short Functional, short Reporting)

    GetEntity(Guid)

    Returns the specified entity, and the id of the entity set it belongs to for the specified transaction

    Declaration
    Task<(IObjectEntity Entity, Guid EntitySetID)> GetEntity(Guid id)
    Parameters
    Type Name Description
    Guid id
    Returns
    Type Description
    Task<(IObjectEntity Entity, Guid EntitySetID)>

    The specified entity, and the id of the entity set it belongs to for the specified transaction

    GetEntitySet(Guid)

    Returns the entity set from the specified id

    Declaration
    Task<IEntitySet> GetEntitySet(Guid id)
    Parameters
    Type Name Description
    Guid id

    ID of the required entity set

    Returns
    Type Description
    Task<IEntitySet>

    The entity set from the specified id

    GetEntry(ITransactionCodeValue, ITransactionTypeValue)

    Declaration
    TransactionTypeValueEntry GetEntry(ITransactionCodeValue value, ITransactionTypeValue def)
    Parameters
    Type Name Description
    ITransactionCodeValue value
    ITransactionTypeValue def
    Returns
    Type Description
    TransactionTypeValueEntry

    GetFunctionalCurrency(ITransaction)

    Declaration
    ICurrency GetFunctionalCurrency(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    ICurrency

    GetGLValues(ITransaction)

    Returns all gl posting records directly associated with the specified owningTransaction and its sub-transactions

    Declaration
    IEnumerable<IGLPosting> GetGLValues(ITransaction owningTransaction)
    Parameters
    Type Name Description
    ITransaction owningTransaction

    The owning header transaction to return all gl postings for (including those from any sub-transactions too)

    Returns
    Type Description
    IEnumerable<IGLPosting>

    All gl posting records directly associated with the specified owningTransaction and its sub-transactions

    GetGLValuesAllocated(IGLPosting)

    Returns all allocated gl posting values directly against the specified owningPosting only.

    Declaration
    IEnumerable<IGLPostingAllocated> GetGLValuesAllocated(IGLPosting owningPosting)
    Parameters
    Type Name Description
    IGLPosting owningPosting

    The gl posting to return all direct allocated gl postings for (those with GLPostingID set to this)

    Returns
    Type Description
    IEnumerable<IGLPostingAllocated>

    All allocated gl posting values directly against the specified owningPosting only.

    GetLocalCurrency(ITransaction)

    Declaration
    ICurrency GetLocalCurrency(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    ICurrency

    GetPath(ITransaction)

    Declaration
    Guid? GetPath(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    Guid?

    GetPath(Guid)

    Returns the loaded path from the specified pathID

    Declaration
    IEnumerable<IPathInfo> GetPath(Guid pathID)
    Parameters
    Type Name Description
    Guid pathID

    The id of the path to return

    Returns
    Type Description
    IEnumerable<IPathInfo>

    The loaded path from the specified pathID

    GetPivotedTransactionValues(ITransaction)

    Returns a list of bound pivotted helper classes for editing the transaction values in a pivotted fashion

    For ui use only

    Declaration
    IEnumerable<PivotedTransactionValue> GetPivotedTransactionValues(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    IEnumerable<PivotedTransactionValue>

    GetReportingCurrency(ITransaction)

    Declaration
    ICurrency GetReportingCurrency(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    ICurrency

    GetRounder(ITransaction)

    A calculator for rounding a given number to a specified level

    Declaration
    IRounder GetRounder(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran

    The transaction the rounder is required for

    Returns
    Type Description
    IRounder

    A calculator for rounding a given number to a specified level

    GetTransaction(Guid)

    Returns the transaction within this processor identified by the specified globally unique id

    Declaration
    ITransaction GetTransaction(Guid id)
    Parameters
    Type Name Description
    Guid id

    The id of a transaction within this processor

    Returns
    Type Description
    ITransaction

    The transaction within this processor identified by the specified globally unique id

    GetTransactionCodeValueTypes(ITransaction)

    Returns all the values being stored against the specified transaction (and thus its sub-transactions too)

    Transactions are configured to stored different values against them according to the transaction code.

    This returns a list of transaction code settings and associated transaction values
    Declaration
    IEnumerable<(ITransactionCodeValue CodeValue, ITransactionTypeValue ValueDef)> GetTransactionCodeValueTypes(ITransaction transaction)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction to return the values being stored against it

    Returns
    Type Description
    IEnumerable<(ITransactionCodeValue CodeValue, ITransactionTypeValue ValueDef)>

    All the values being stored against the specified transaction (and thus its sub-transactions too)

    GetTransactionSet(ITransaction)

    Returns all transactions in a set that the specified transaction is a member of

    A set defines a header transaction and sub-transactions that have their ParentTransactionID set to the header transaction

    Providing the header transaction or a sub-transaction will return the header and all sub-transactions
    Declaration
    IEnumerable<ITransaction> GetTransactionSet(ITransaction transaction)
    Parameters
    Type Name Description
    ITransaction transaction

    A transaction in the set (either header or sub-transaction)

    Returns
    Type Description
    IEnumerable<ITransaction>

    All transactions in a set that the specified transaction is a member of

    GetTransactionSetting(ITransaction)

    Retrieves a loaded associated transaction setting entity against the specified transaction

    Transaction settings are linked to through SettingsID and implement IHasTransactionSetting

    Declaration
    IBaseEntity GetTransactionSetting(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran

    The transaction to retrieve its associated settings entity from

    Returns
    Type Description
    IBaseEntity

    The already loaded transaction setting entity for this transaction

    GetTransactionValues(ITransaction)

    Returns all sub-transactions that have the specified owningTransaction as their ParentTransactionID along with the owning transaction itself

    Declaration
    IEnumerable<ITransaction> GetTransactionValues(ITransaction owningTransaction)
    Parameters
    Type Name Description
    ITransaction owningTransaction

    The owning header transaction to return all sub-transactions of

    Returns
    Type Description
    IEnumerable<ITransaction>

    All sub-transactions that have the specified owningTransaction as their ParentTransactionID along with the owning transaction itself

    GetTransactionValuesAllocated(ITransaction)

    Returns all allocated transaction values against the specified owningTransaction only.

    Declaration
    IEnumerable<ITransactionAllocated> GetTransactionValuesAllocated(ITransaction owningTransaction)
    Parameters
    Type Name Description
    ITransaction owningTransaction

    The transaction to return all direct allocated transactions for (those with ParentTransactionID set to this)

    Returns
    Type Description
    IEnumerable<ITransactionAllocated>

    All allocated transaction values against the specified owningTransaction only.

    KeepTransactionDateConsistent()

    Indicates if transactions should be forced to all have the same date by the processor

    Declaration
    bool KeepTransactionDateConsistent()
    Returns
    Type Description
    bool

    Load(bool)

    Declaration
    Task Load(bool loadAllPathInfo)
    Parameters
    Type Name Description
    bool loadAllPathInfo
    Returns
    Type Description
    Task

    LoadAllPathInfos(bool)

    Declaration
    Task LoadAllPathInfos(bool forcePaths)
    Parameters
    Type Name Description
    bool forcePaths
    Returns
    Type Description
    Task

    LoadPathInfo(ITransaction, bool)

    Loads the allocation path information for the specified transaction according to the configuration of the associated transaction code

    If dynamically allocating values out, the system will allocate the values across the path and create appropriate transaction allocation records for the breakdown (along with sub transactions and allocations if needed along the path)

    Declaration
    Task LoadPathInfo(ITransaction tran, bool force)
    Parameters
    Type Name Description
    ITransaction tran

    The transaction to load the path allocation information for

    bool force

    Indicates the path should be reloaded even if it is already cached as dependant values may have changed such as the date

    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    LoadTransferInfo()

    Declaration
    Task LoadTransferInfo()
    Returns
    Type Description
    Task

    MoveItemSequence(ITransaction, ITransaction)

    Declaration
    void MoveItemSequence(ITransaction fromItem, ITransaction toItem)
    Parameters
    Type Name Description
    ITransaction fromItem
    ITransaction toItem

    OnChanged(TransactionProcessorEventArgs)

    Raises the OnTransactionChanged event with the specified arguments

    Declaration
    void OnChanged(TransactionProcessorEventArgs args)
    Parameters
    Type Name Description
    TransactionProcessorEventArgs args

    The arguments for the OnTransactionChanged event

    OnLoadTransactionCodeInfo(ITransaction, bool)

    Loads all the associated transaction code configuration for the specified transaction

    Declaration
    Task OnLoadTransactionCodeInfo(ITransaction transaction, bool changed)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction to load its associated transaction code configuration for, including any TransactionProcessorExtender required too

    bool changed

    Indicates the code has been changed, and thus all current values need to be reset to 0

    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    ProcessExtender(ITransaction, IBaseEntity, string, bool, object[])

    Executes all extenders (TransactionProcessorExtender) configured against the ITransactionCode for the specified tran

    Each extender is passed the name of the property that has changed so it can determine what, if any, processes need to be run

    Declaration
    Task ProcessExtender(ITransaction tran, IBaseEntity changedItem, string propertyChangedName, bool ignoredByProcessor = false, object[] contextArgs = null)
    Parameters
    Type Name Description
    ITransaction tran

    The transaction that has a property changed and needs all extenders to respond to it

    IBaseEntity changedItem
    string propertyChangedName

    The name of the property that has changed

    bool ignoredByProcessor
    object[] contextArgs
    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    ProcessTransaction(ITransaction)

    Processes a transaction - runs the rules of the transaction code.

    Declaration
    Task ProcessTransaction(ITransaction tran)
    Parameters
    Type Name Description
    ITransaction tran
    Returns
    Type Description
    Task

    RegisterNewGLPosting(IGLPosting, ITransaction, ITransactionCodeGLEntry)

    Registers a newly created Gl Posting record with the processor so it is correctly loaded, and so the processor can react to changes in the record's values

    Declaration
    Task RegisterNewGLPosting(IGLPosting posting, ITransaction owningTransaction, ITransactionCodeGLEntry glEntry)
    Parameters
    Type Name Description
    IGLPosting posting

    The gl posting to register with this processor

    ITransaction owningTransaction
    ITransactionCodeGLEntry glEntry
    Returns
    Type Description
    Task

    RegisterNewGLPostingAllocated(IGLPostingAllocated)

    Registers a newly created Gl Posting Allocation record with the processor so it is correctly loaded, and so the processor can react to changes in the record's values

    Declaration
    Task RegisterNewGLPostingAllocated(IGLPostingAllocated alloc)
    Parameters
    Type Name Description
    IGLPostingAllocated alloc

    The gl posting allocation to register with this processor

    Returns
    Type Description
    Task

    RegisterNewTransactionAllocated(ITransactionAllocated)

    Registers a newly created Transaction Allocation record with the processor so it is correctly loaded, and so the processor can react to changes in the record's values

    Declaration
    Task RegisterNewTransactionAllocated(ITransactionAllocated alloc)
    Parameters
    Type Name Description
    ITransactionAllocated alloc

    The transaction allocation to register with this processor

    Returns
    Type Description
    Task

    RegisterTransaction(ITransaction)

    Registers a newly created Transaction record with the processor so it is correctly loaded, and so the processor can react to changes in the record's values

    Declaration
    Task RegisterTransaction(ITransaction transaction)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction to register with this processor

    Returns
    Type Description
    Task

    Reload()

    Reloads the transaction.

    Declaration
    Task Reload()
    Returns
    Type Description
    Task

    RemoveCodeValue(ITransaction, Guid)

    Removes the specified transaction type value from the transaction. Possible if the transaction code allows manual alteration of the values stored against a transaction

    Declaration
    Task RemoveCodeValue(ITransaction transaction, Guid tranTypeValueID)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction (and all associated sub-transactions) to remove the specified transaction type value from

    Guid tranTypeValueID

    The transaction type value to remove from the transaction

    Returns
    Type Description
    Task

    A task indicating the completion of the operaion

    SetAllowMultipleTransactionDates(bool)

    Declaration
    void SetAllowMultipleTransactionDates(bool allowMultipleDifferentDates)
    Parameters
    Type Name Description
    bool allowMultipleDifferentDates

    SetStepChangeDate(DateTimeOffset?)

    Declaration
    void SetStepChangeDate(DateTimeOffset? stepChangeDate)
    Parameters
    Type Name Description
    DateTimeOffset? stepChangeDate

    UpdateRounders(ITransaction, bool)

    Updates the stored rounders in the processors for the specified transaction and all its sub-transactions

    Declaration
    Task UpdateRounders(ITransaction transaction, bool updateLevel)
    Parameters
    Type Name Description
    ITransaction transaction

    The transaction (and its sub-transactions) to update all the rounders for

    bool updateLevel
    Returns
    Type Description
    Task

    A task indicating the completion of the operation

    Events

    OnTransactionChanged

    An event indicating the processor has changed the specified value against records within the processor

    Declaration
    event TransactionProcessorEventHandler OnTransactionChanged
    Event Type
    Type Description
    TransactionProcessorEventHandler

    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

    ITransactionCodeProcessor
    In this article
    Back to top © LemonEdge Technologies. All rights reserved.