Table of Contents

Interface IPriceCalculationService<TPriceCalculationRequest, TPriceCalculationResult>

Namespace
CMS.Commerce
Assembly
CMS.Commerce.dll

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

TPriceCalculationRequest

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

TPriceCalculationResult

The 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

calculationRequest TPriceCalculationRequest
cancellationToken CancellationToken

Returns

Task<TPriceCalculationResult>

Remarks

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