Interface IOrderCreationService<TOrderData, TCalculationRequest, TCalculationResult, TAddressDto>
Order creation service for creating and saving new orders.
public interface IOrderCreationService<TOrderData, TCalculationRequest, TCalculationResult, TAddressDto> where TOrderData : IOrderData where TCalculationRequest : IPriceCalculationRequest, new() where TCalculationResult : IPriceCalculationResult, new() where TAddressDto : AddressDto, new()
Type Parameters
TOrderDataType of order data.
TCalculationRequestPrice calculation request type.
TCalculationResultPrice calculation result type.
TAddressDtoAddress type.
- Extension Methods
Methods
CreateOrder(TOrderData, CancellationToken)
Create order, save it into database and return its ID.
Task<int> CreateOrder(TOrderData data, CancellationToken cancellationToken = default)
Parameters
dataTOrderDataOrder data that are base for order creation.
cancellationTokenCancellationTokenCancellation token.
Returns
- Task<int>
ID of newly created order.
Exceptions
- InvalidOperationException
Thrown when the order data does not contain a billing address or products.