public async Task CreateAsync(string clientId, string assetPair, decimal volume, OrderType orderType) { string exchangeName = _settingsService.GetExchangeName(); AssetPairModel assetPairSettings = _marketInstrumentService.GetAssetPair(assetPair, exchangeName); if (assetPairSettings == null) { throw new FailedOperationException("Asset pair not supported"); } if (volume < assetPairSettings.MinVolume) { throw new FailedOperationException("Volume is too small"); } var marketOrder = new MarketOrder(clientId, assetPair, orderType, volume); await _marketOrderRepository.InsertAsync(marketOrder); _log.InfoWithDetails("Market order created", marketOrder); }