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