public async Task <IActionResult> Post([FromBody] OrderModel orderModel) { if (string.IsNullOrEmpty(orderModel?.ExchangeName) || string.IsNullOrEmpty(orderModel.Instrument) || orderModel.Volume == 0) { return(BadRequest("Bad model")); } if (!(_exchangeCache.Get(orderModel.ExchangeName)?.AcceptOrder ?? true)) { return(BadRequest($"AcceptOrder is false for {orderModel.ExchangeName}")); } var quote = _quoteService.Get(orderModel.ExchangeName, orderModel.Instrument); var result = await _tradingService.CreateOrder( orderModel.ExchangeName, orderModel.Instrument, orderModel.TradeType, orderModel.Price ?? (orderModel.TradeType == TradeType.Buy ? quote?.Ask : quote?.Bid) ?? 0, orderModel.Volume); if (result == null) { return(BadRequest("No such exchange in config")); } return(Ok(result)); }