Namespace LemonEdge.API.Core.FinancialServices.Processors.Transactional
Classes
AllocationMappingProvider
Calculates allocation mapping from entity set and instrument. Loops through allocation paths for entity set and returns allocation mapping that directly matches instrument If there is none, it loops through instrument sets to return best suited one
AllocationTransferProcessorExtender
The transfer extender responsible for transferring all IAllocationAmount records
BaseTransactionProcessor
This is the base transaction processor that all processes for any type of ITransactionalEntity should inherit from
This ensures all transactional items behave consistently such as implementing cancel/correct logic and the correct behaviour for their status
BlendTransactionAllocation
Contains a breakdown of the set of items to create transactions against, and their allocations, for a IBlendTransaction
BlendTransactionContext
The custom context for evaluating formulas against that are configured in the BlendingTransaction settings ( FormulaForValue)
See https://help.lemonedge.com/blend-transactions/ for more information
BlendTransactionProcessor
BlendTransactionProcessorEventArgs
The blended transaction processor event arguments holding the type of change to raise
BlendTransactionProcessorExtender
Any custom algorithm for IBlendingTransaction can be implemented from inheriting this class.
The standard system algorithm is BlendTransactionProcessorExtenderLTD a LTD value allocation algorithm of configured values by allocation ratio to target instruments.
See https://help.lemonedge.com/blend-transactions/ for more informationBlendTransactionProcessorExtenderAttribute
The attribute to mark any BlendTransactionProcessorExtender implementation with
The system uses this name and key so users can select the appropriate processor extender as the algorithm they want to run for a Algorithm
See https://help.lemonedge.com/blend-transactions/ for more informationBlendTransactionProcessorExtenderFactory
A factory class for creating extenders for processing with ITransferProcessor
See https://help.lemonedge.com/blend-transactions/ for more information
BlendTransactionProcessorExtenderLTD
The system default life-to-date value allocation algorithm for allocating configured values to target sets of instruments
See https://help.lemonedge.com/blend-transactions/ for more information
BlendTransactionProcessorFactory
BlendTransactionToAllocation
Contains a breakdown of items a transaction should be created against including their allocation.
In the case of this being the only item a transaction is created against the RatioMultiplier would be 1
BlendTransactionValueTotals
Contains the values to allocate against new transactions
BulkTransactionLoader
When importing lots (10k+) of transactions (to bulk delete, change status/etc) loading them all individually can take hours. This bulk loader is designed to pre-load as much of each of them in bulk at once, so when they individually load there is less to do - typically this can reduce 30k transactions from 3 hours to 5 mins
GroupedTransactionProcessor
GroupedTransactionProcessorFactory
LookupFilters
Contains a set of helper functions for dynamicaly creating QueryableFilter for selecting valid entities, instruments or paths for a transaction depending on their context
ObjectEntityTypeProcessResult
ObjectEntityTypeProcessor
SplitTransactionProcessor
SplitTransactionProcessorFactory
StepChangeDynamicPathHandler
Perhaps this is something that transaction/split transaction should implement, but not obvious how for now logic explicitly held with step change processor
When running a step change process the system equalizes (as a first step) all prior capital (portfolio is auto handled through path updates) transactions. Any transaction that has a path that is dynamic means the step change to date must be saved to the database, and the dynamic path updated if
StepChangeProcessor
StepChangeProcessorFactory
TransactionAllocatedTransferProcessorExtender
The transfer extender responsible for transferring all ITransactionAllocated and IGLPostingAllocated records
TransactionCodesProvider
Provides transaction code for a transaction
TransactionContext
The custom context for evaluating formulas that are configured in the TransactionCode settings ( ITransactionCode)
See https://help.lemonedge.com/transactions/ for more information
TransactionOffsetsHelper
TransactionPathProvider
Calculates AllocationPath for a Transaction depending on TransactionCodePath and AllocationMapping
TransactionProcessor
TransactionProcessorExtender
All transactions can have a custom processor for propietary algorithms. These extenders are configured against transaction codes using ITransactionCodeProcessor
Implementing this class makes this custom transaction process available for use within the configuration of a ITransactionCode behaviour
See https://help.lemonedge.com/transactions/ for more informationTransactionProcessorExtenderAttribute
Any implementation of TransactionProcessorExtender should be marked with this attribute
The system uses this name and key so users can select the appropriate processor extender as the algorithm they want to run for a ITransactionCode
See https://help.lemonedge.com/transaction-codes/ for more informationTransactionProcessorExtenderFactory
A factory class for creating extenders for processing with ITransactionProcessor
See https://help.lemonedge.com/transactions/ for more information
TransactionProcessorFactory
TransactionsHelper
The main helper class for processing transactions and ensuring their values are consistently updated
Is responsible for updating ITransaction, ITransactionAllocated , IGLPosting, and IGLPostingAllocated records
TransferProcessor
TransferProcessorExtender
The base class implementation for all extenders of the ITransferProcessor.
Each extender is responsible for transferring a specific type of entity. The system ones already transfer IAllocationAmount, ITransactionAllocated, and IGLPostingAllocated
TransferProcessorExtenderHelper
A helper class for loading and retrieving all extenders for the transfer process in the system
TransferProcessorFactory
UpdateTransactionTypesFactory
UpdateTransactionTypesProcessor
UpdateTransactionTypesResult
ValueOffsetterExtender
The base class for creating a value offsetter extender that automatically enters the opposite value for certain configured ITransactionTypeValue
This can be used to enable functionality for a ITransactionCode that whenever an amount is entered for a certain value, the system automatically enters the opposite amount for another specified value, and vice-versa
Interfaces
IAllocationMappingProvider
IBlendTransactionProcessor
The processor responsible for processing a blended transaction calculation
See https://help.lemonedge.com/blend-transactions/ for more information
ICanBeRevertedTransactionProcessor
Indicates this processor for transactional items enables the user to revert the transaction from finalized back to in progress
IGroupedTransactionProcessor
ISplitTransactionProcessor
IStepChangeProcessor
The processor responsible for processing a step change operation
ITransactionCodesProvider
ITransactionPathProvider
ITransferProcessor
The processor responsible for processing a partner transfer operation
Custom entities can be included in the transfer process by implementing TransferProcessorExtender
See https://help.lemonedge.com/transfers/ for more information.Enums
BlendTransactionProcessorEventType
A type of change the IBlendTransactionProcessor can raise to notify the ui of changes
Delegates
BlendTransactionProcessorEventHandler
A delegate for the handling of events from the IBlendTransactionProcessor