public async Task <List <OrderResBase> > PlaceOrder(LadderOrder order)
        {
            List <OrderResBase> results = new List <OrderResBase>();

            if (null == order)
            {
                return(results);
            }

            HttpClient requestClient = ClientTestNet;

            if (order.MainNet)
            {
                requestClient = ClientMainNet;
            }

            List <LinearRungs> linearLadder = SharedBusinessLogic.Ladder.Linear(order.StartPrice, order.EndPrice, order.Rungs, order.Quantity);

            foreach (var(requestMessage, postParams) in from LinearRungs linearRungs in linearLadder.Where(ll => ll.Quantity > 0)
                     let linearOrder = new OrderRequest
            {
                ApiKey = order.ApiKey,
                Sign = order.Sign,
                Currency = order.Currency,
                Symbol = order.Symbol,
                Side = order.Side,
                OrderSide = order.OrderSide,
                StartPrice = linearRungs.Price,
                Quantity = linearRungs.Quantity
            }
                     let requestMessage = new HttpRequestMessage(HttpMethod.Post, path + BusinessLogic.OrderCreate.GenerateQueryParameters(linearOrder))
                                          let postParams = BusinessLogic.OrderCreate.GenerateFormParameters(linearOrder)
                                                           select(requestMessage, postParams))
            {
                requestMessage.Content = new StringContent(postParams, Encoding.UTF8, "application/x-www-form-urlencoded");
                HttpResponseMessage response = await requestClient.SendAsync(requestMessage).ConfigureAwait(false);

                response.EnsureSuccessStatusCode();
                using (System.IO.Stream responseStream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false))
                {
                    results.Add(await JsonSerializer.DeserializeAsync <OrderResBase>(responseStream));
                }

                Task.Delay(1000).Wait();
            }

            return(results);
        }
 public async Task <ActionResult <List <OrderResBase> > > CreateLadder(LadderOrder order)
 {
     return(await ByBitService.PlaceOrder(order).ConfigureAwait(false));
 }