Class 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
Inheritance
Implements
Inherited Members
Namespace: LemonEdge.API.Core.FinancialServices.Processors.Transactional
Assembly: LemonEdge.API.Core.FinancialServices.dll
Syntax
public class BlendTransactionContext : FormulaFunctionsWithContext<IBlendTransaction>, IFormulaFunctionsWithContext<IBlendTransaction>, IFormulaFunctionsWithContext, IFormulaFunctions
Constructors
BlendTransactionContext(IEntityRetriever, IReadOnlyCache, UserInfo, BlendTransactionProcessorExtender, IFormulaFunctionsServiceContext)
Creates a new blending transaction context for evaluating formulas against blending transaction configuration
Declaration
public BlendTransactionContext(IEntityRetriever retriever, IReadOnlyCache cache, UserInfo user, BlendTransactionProcessorExtender extender, IFormulaFunctionsServiceContext services)
Parameters
Type | Name | Description |
---|---|---|
IEntityRetriever | retriever | A context for retrieving data from the system with |
IReadOnlyCache | cache | A local current cache |
UserInfo | user | The currently logged in user |
BlendTransactionProcessorExtender | extender | The type of blending transaction process algorithm being used |
IFormulaFunctionsServiceContext | services | The services demanded from the IServiceProvider for the use in formulas |
Properties
EffectiveDate
The effective date the algorithm is currently running to
Declaration
public DateTimeOffset EffectiveDate { get; }
Property Value
Type | Description |
---|---|
DateTimeOffset |
Extender
The type of blending transaction process algorithm being used
Declaration
public BlendTransactionProcessorExtender Extender { get; }
Property Value
Type | Description |
---|---|
BlendTransactionProcessorExtender |
FinancialDate
The financial date the algorithm is currently running to
Declaration
public DateTimeOffset FinancialDate { get; }
Property Value
Type | Description |
---|---|
DateTimeOffset |
InstrumentID
An optional argument for the current instrument id the algorithm is running against
Declaration
public Guid? InstrumentID { get; set; }
Property Value
Type | Description |
---|---|
Guid? |
StartDate
The optional start date for this run of the algorithm
Declaration
public DateTimeOffset? StartDate { get; }
Property Value
Type | Description |
---|---|
DateTimeOffset? |
Methods
GetValues(string, Guid?)
A function for returning the collection of results for the specified value and optional current instrument
Declaration
[FormulaFunction(Name = "GetValues", Type = "BlendedTransaction", Description = "Returns A list of aggregated transaction values according to the setup in the API.Entities.IBlendingTran", Params = "1. The aggregated values to return specified from the API.Entities.IBlendingTranInstrumentValue.Name, or ISQLWrapper result.\r\n2. An optional instrument to only return the aggregated values for", ParamCount = 2, IsAsync = true)]
public Task<IEnumerable<ITransactionAggregateResult>> GetValues(string valueName, Guid? instrumentID)
Parameters
Type | Name | Description |
---|---|---|
string | valueName | The aggregated values to return specified from the Name, or ISQLWrapper result |
Guid? | instrumentID | An optional instrument to only return the aggregated values for |
Returns
Type | Description |
---|---|
Task<IEnumerable<ITransactionAggregateResult>> | A list of aggregated transaction values according to the setup in the IBlendingTransaction |
Init(IBlendTransactionInstrumentSet, DateTimeOffset?, DateTimeOffset, DateTimeOffset)
Initializes the context with all the current states for evaluation against a current blended transaction formula
Declaration
public void Init(IBlendTransactionInstrumentSet instrumentSet, DateTimeOffset? startDate, DateTimeOffset effectiveDate, DateTimeOffset financialDate)
Parameters
Type | Name | Description |
---|---|---|
IBlendTransactionInstrumentSet | instrumentSet | The instrument set blended transaction setup this is being evaluated against |
DateTimeOffset? | startDate | The optional start date for this run of the algorithm |
DateTimeOffset | effectiveDate | The effective date the algorithm is currently running to |
DateTimeOffset | financialDate | The financial date the algorithm is currently running to |
Init(SQLWrapperInterpretor, ISQLWrapperResult, DateTimeOffset?, DateTimeOffset, DateTimeOffset)
Initializes the context with all the current states for evaluation against a current blended transaction formula
Declaration
public void Init(SQLWrapperInterpretor sqlWrapper, ISQLWrapperResult result, DateTimeOffset? startDate, DateTimeOffset effectiveDate, DateTimeOffset financialDate)
Parameters
Type | Name | Description |
---|---|---|
SQLWrapperInterpretor | sqlWrapper | The currently executing source sql wrapper |
ISQLWrapperResult | result | The current result row for creating a transaction |
DateTimeOffset? | startDate | |
DateTimeOffset | effectiveDate | |
DateTimeOffset | financialDate |
ReturnSQLWrapperResult(string)
Returns the result of the specified column name for the executed sql wrapper of this blended transaction
Declaration
[FormulaFunction(Name = "ReturnSQLWrapperResult", Type = "BlendedTransaction", Description = "Returns the result of the specified column name for the executed sql wrapper of this blended transaction", Params = "1. The name of the column to return the value of.", ParamCount = 1, IsAsync = false)]
public object ReturnSQLWrapperResult(string columnName)
Parameters
Type | Name | Description |
---|---|---|
string | columnName | The name of the column to return the value of |
Returns
Type | Description |
---|---|
object | The result of the specified column name for the executed sql wrapper of this blended transaction |