Пример #1
0
 public Task <TradeOrderStatus> GetOrderStatusAsync(RemoteIdContext context)
 {
     throw new NotImplementedException();
 }
Пример #2
0
 public Task <OrderMarketResponse> GetMarketFromOrderAsync(RemoteIdContext context) => Task.FromResult <OrderMarketResponse>(null);
Пример #3
0
 public Task <OrderMarketResponse> GetMarketFromOrderAsync(RemoteIdContext context)
 {
     throw new NotImplementedException();
 }
Пример #4
0
        public Task <OrderMarketResponse> GetMarketFromOrderAsync(RemoteIdContext context)
        {
            // TODO: AY: Sean implement this method using GetOpenOrders endpoint.

            throw new NotImplementedException();
        }
Пример #5
0
        private void GetTradeOrderStatus(IOrderLimitProvider provider, string remoteOrderId, AssetPair market = null)
        {
            var context = new RemoteIdContext(UserContext.Current, remoteOrderId);

            if (market != null)
            {
                context.Market = market;
            }

            var r = AsyncContext.Run(() => provider.GetOrderStatusAsync(context));

            Assert.IsTrue(remoteOrderId.Equals(r.RemoteOrderId, StringComparison.Ordinal), "Remote trade order ids don't match");
            Trace.WriteLine($"Remote trade order id: {r.RemoteOrderId}");

            if (market != null)
            {
                if (r.AmountInitial.HasValue)
                {
                    Assert.IsTrue(r.AmountInitial.Value.Asset.Equals(market.Asset2));
                }
                if (r.AmountFilled.HasValue)
                {
                    Assert.IsTrue(r.AmountFilled.Value.Asset.Equals(market.Asset2));
                }
                if (r.AmountRemaining.HasValue)
                {
                    Assert.IsTrue(r.AmountRemaining.Value.Asset.Equals(market.Asset2));
                }
            }

            if (r.IsOpen)
            {
                Trace.WriteLine("Order is open");
            }
            if (r.IsCancelRequested)
            {
                Trace.WriteLine("Order is requested to be canceled");
            }
            if (r.IsCanceled)
            {
                Trace.WriteLine("Order is canceled");
            }
            if (r.IsClosed)
            {
                Trace.WriteLine("Order is closed");
            }
            if (r.IsFound)
            {
                Trace.WriteLine("Order is found");
            }

            if (r.Rate.HasValue)
            {
                Trace.WriteLine($"The rate of order is {r.Rate.Value}");
            }
            if (r.AmountInitial.HasValue)
            {
                Trace.WriteLine($"Initial amount is {r.AmountInitial.Value.Display}");
            }
            if (r.AmountFilled.HasValue)
            {
                Trace.WriteLine($"Filled amount is {r.AmountFilled.Value.Display}");
            }
            if (r.AmountRemaining.HasValue)
            {
                Trace.WriteLine($"Remaining amount is {r.AmountRemaining.Value.Display}");
            }
        }
Пример #6
0
        private async Task <YobitSchema.OrderInfoEntryResponse> GetOrderReponseByIdAsync(RemoteIdContext context)
        {
            var api = ApiProviderPrivate.GetApi(context);

            var bodyOrderInfo = CreateBody();

            bodyOrderInfo.Add("method", "OrderInfo");
            bodyOrderInfo.Add("order_id", context.RemoteGroupId);

            var rOrderRaw = await api.QueryOrderInfoAsync(bodyOrderInfo).ConfigureAwait(false);

            CheckResponseErrors(rOrderRaw);

            var orderContent = rOrderRaw.GetContent();

            if (!orderContent.returnData.Key.Equals(context.RemoteGroupId))
            {
                throw new NoTradeOrderException(context, this);
            }

            var order = orderContent.returnData.Value;

            return(order);
        }
Пример #7
0
 public NoTradeOrderException(RemoteIdContext context, INetworkProvider provider, [CallerMemberName] string method = "Unknown") : base($"Order \"{context.RemoteGroupId}\" does not exist", provider, method)
 {
 }