public async Task <IActionResult> PutHistoryBuyOrder(string strategyId, [FromBody] JsonOrderModel orderModel, long timestamp) { if (!orderModel.rate.HasValue) { var rate = await _marketDataService.GetHistoryRate(orderModel.exchange, orderModel.symbol, timestamp); if (rate == null) { return(BadRequest("Cannot get rate")); } orderModel.rate = rate; } var result = await _tradeService.PutOrder(_mapper.Map <TradeOrder>(orderModel), strategyId, OrderType.Buy); if (result.Success) { return(Ok(result.Data)); } return(BadRequest(result.Data)); }
public async Task <IActionResult> PutBuyOrder(string strategyId, [FromBody] JsonOrderModel orderModel) { var currentRates = await _marketDataService.GetCurrentRates(orderModel.exchange); if (!currentRates.ContainsKey(orderModel.symbol)) { return(BadRequest("Cannot get current rate")); } if (!orderModel.rate.HasValue) { orderModel.rate = currentRates[orderModel.symbol]; } var result = await _tradeService.PutOrder(_mapper.Map <TradeOrder>(orderModel), strategyId, OrderType.Buy); if (result.Success) { return(Ok(result.Data)); } return(BadRequest(result.Data)); }