public async Task<Infrastructure.Common.Models.Trading.Order> CreateOrder(Infrastructure.Common.Models.Trading.Order initialOrder, bool usePostOnly = false) { var innerModel = initialOrder.ToInnerModel(); var connection = new HitBtcConnection(); var request = new RestRequest("order", Method.POST); request.ConfigureRequest(); request.AddJsonBody(new { clientOrderId = innerModel.ClientId, symbol = innerModel.CurrencyPairId, side = innerModel.OrderSide, type = innerModel.OrderType, timeInForce = innerModel.TimeInForce, quantity = innerModel.Quantity.ToString("#0.########################"), price = innerModel.Price.ToString("#0.########################"), stopPrice = innerModel.StopPrice.ToString("#0.########################"), postOnly = usePostOnly }); var exchangeConnectionSettings = _configurationService.GetExchangeConnectionSettings(); var response = await connection.DoRequest( request, exchangeConnectionSettings.ApiKey, exchangeConnectionSettings.SecretKey); var responseOrder = response .ExtractResponseData<Order>() ?.ToOuterModel(initialOrder.CurrencyPair); return responseOrder; }
public async Task<Infrastructure.Common.Models.Trading.Order> CancelOrder(Infrastructure.Common.Models.Trading.Order initialOrder) { var innerModel = initialOrder.ToInnerModel(); var connection = new HitBtcConnection(); var request = new RestRequest(String.Format("order/{0}", innerModel.ClientId), Method.DELETE); request.ConfigureRequest(); var exchangeConnectionSettings = _configurationService.GetExchangeConnectionSettings(); var response = await connection.DoRequest( request, exchangeConnectionSettings.ApiKey, exchangeConnectionSettings.SecretKey); var responseOrder = response .ExtractResponseData<Order>() ?.ToOuterModel(initialOrder.CurrencyPair); return responseOrder; }