Table of Contents

Interface IPriceCalculationService<TCalculationRequest, TCalculationResult>

Namespace
CMS.Commerce
Assembly
CMS.Commerce.dll

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

TCalculationRequest

The type of the calculation request. This is the input data for the calculation. Use PriceCalculationRequest or PriceCalculationRequestBase<TCalculationRequestItem, TCalculationRequestAddress> for extensibility.

TCalculationResult

The 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

calculationRequest TCalculationRequest
cancellationToken CancellationToken

Returns

Task<TCalculationResult>

Remarks

All steps provided by IPriceCalculationStepsProvider<TCalculationRequest, TCalculationResult> will be executed and final result returned.