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 eventsInherited Members
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 itselfAll 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 |
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 |
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 |
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 |
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 rootDeclaration
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 |
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 |
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 |
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 |
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 |
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 |
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 valuesDeclaration
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 |
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-transactionsDeclaration
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 |
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 |
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 |
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 |