Interface IPriceCalculationService<TCalculationRequest, TCalculationResult>
Represents a service for calculating prices using a sequence of calculation steps.
public interface IPriceCalculationService<in TCalculationRequest, TCalculationResult> where TCalculationRequest : IPriceCalculationRequest where TCalculationResult : IPriceCalculationResult, new()
Type Parameters
TCalculationRequestThe type of the calculation request. This is the input data for the calculation. Use PriceCalculationRequest or PriceCalculationRequestBase<TCalculationRequestItem, TCalculationRequestAddress> for extensibility.
TCalculationResultThe type of the calculation result. This is the output data for the calculation. Use PriceCalculationResult or PriceCalculationResultBase<TCalculationResultItem> for extensibility.
- Extension Methods
Methods
Calculate(TCalculationRequest, CancellationToken)
Calculates the price using the sequence of calculation steps.
Task<TCalculationResult> Calculate(TCalculationRequest calculationRequest, CancellationToken cancellationToken = default)
Parameters
calculationRequestTCalculationRequestcancellationTokenCancellationToken
Returns
- Task<TCalculationResult>
Remarks
All steps provided by IPriceCalculationStepsProvider<TCalculationRequest, TCalculationResult> will be executed and final result returned.