Class 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 informationInherited Members
Namespace: LemonEdge.API.Core.FinancialServices.Processors.Transactional
Assembly: LemonEdge.API.Core.FinancialServices.dll
Syntax
public abstract class TransactionProcessorExtender
Constructors
TransactionProcessorExtender(ITransactionProcessor)
Creates an instance of this Transaction Process Extender with the specified processor as the parent it will run its algorithm against
Declaration
public TransactionProcessorExtender(ITransactionProcessor processor)
Parameters
Type | Name | Description |
---|---|---|
ITransactionProcessor | processor | The transaction processor this extender can run an algorithm against |
Properties
Processor
The transaction processor this extender can run an algorithm against
Declaration
public ITransactionProcessor Processor { get; }
Property Value
Type | Description |
---|---|
ITransactionProcessor |
Methods
OnItemAdded(IBaseEntity)
Notifies this extender that an item has been added to the transaction processor
Declaration
public virtual Task OnItemAdded(IBaseEntity item)
Parameters
Type | Name | Description |
---|---|---|
IBaseEntity | item | The item that has been added to the transaction processor |
Returns
Type | Description |
---|---|
Task |
OnItemRemoved(IBaseEntity)
Notifies this extender that an item has been removed to the transaction processor
Declaration
public virtual Task OnItemRemoved(IBaseEntity item)
Parameters
Type | Name | Description |
---|---|---|
IBaseEntity | item | The item that has been removed to the transaction processor |
Returns
Type | Description |
---|---|
Task |
OnPropertyChanged(IBaseEntity, string, bool)
Notifies this extender that a property has changed against the transaction and provides this implementation an ability to react to it and update appropriate other values
Declaration
public virtual Task OnPropertyChanged(IBaseEntity item, string propName, bool ignoredByProcessor)
Parameters
Type | Name | Description |
---|---|---|
IBaseEntity | item | The item against the transaction that has changed, ITransaction, ITransactionAllocated, IGLPosting, or IGLPostingAllocated |
string | propName | The name of the property against the item that changed |
bool | ignoredByProcessor | Indicates the processor didn't react to this property change as it was marked as IgnoreEvents = true at the time (probably because its own processes were generating the changes) |
Returns
Type | Description |
---|---|
Task | A task indicating the completion of the operation |
OnPropertyChanged(IBaseEntity, string, string, bool)
Notifies this extender that a property has changed against the transaction and provides this implementation an ability to react to it and update appropriate other values
Declaration
public virtual Task OnPropertyChanged(IBaseEntity item, string propName, string propAlias, bool ignoredByProcessor)
Parameters
Type | Name | Description |
---|---|---|
IBaseEntity | item | The item against the transaction that has changed, ITransaction, ITransactionAllocated, IGLPosting, or IGLPostingAllocated |
string | propName | The name of the property against the item that changed |
string | propAlias | The alias of the property - normally the same but in the case of LocalValue1 will hold LocalValuexxx where xxx is the TTV code instead |
bool | ignoredByProcessor | Indicates the processor didn't react to this property change as it was marked as IgnoreEvents = true at the time (probably because its own processes were generating the changes) |
Returns
Type | Description |
---|---|
Task | A task indicating the completion of the operation |